赞
踩
学习自:
链接: link.
链接: link.
代码片
.
创建窗口,设置窗口大小,设置窗口名称等
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets, QtCore if __name__ == "__main__": # 这里引入了PyQt5.QtWidgets模块,这个模块包含了基本的组件。 # 每个PyQt5应用都必须创建一个应用对象。 # `sys.argv是一组命令行参数的列表。 ` # Python可以在shell里运行,这个参数提供对脚本控制的功能。 app = QtWidgets.QApplication(sys.argv) # QWidge控件是一个用户界面的基本控件,它提供了基本的应用构造器。 widget = QtWidgets.QWidget() widget.resize(320, 240) widget.setWindowTitle("Hello PyQt5!!!") widget.show() # 这里,只有进入循环,才创建完成,否则一直显示未响应 sys.exit(app.exec_())
代码片
.
设置提示框,添加button,
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import (QWidget, QToolTip, QPushButton, QApplication) from PyQt5.QtGui import QFont class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 这个静态方法设置了提示框(鼠标放上去有说明)的字体,我们使用了10px的SansSerif字体。 QToolTip.setFont(QFont('SansSerif', 10)) # 调用setTooltip()创建提示框可以使用富文本格式的内容。 # 给这个window的窗口设置的提示框 self.setToolTip('This is a <b>QWidget</b> widget') # 创建一个可以按的按钮 btn = QPushButton('Button', self) # 给按钮加上提示框 btn.setToolTip('This is a <b>QPushButton</b> widget') # 重新定义按钮大小 为 btn.sizeHint() 那么大的按钮 这个大小是默认的为PyQt5.QtCore.Qsize(75,23) btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('Tooltips') self.show() # 这里有一个问题,设置提示框的字体以及大小 # 是如何传入到窗体的提示框,以及button的提示框里面去的? # 猜测可能是全局变量,当调用setToolTip时,调用QToolTip里面的内容 if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
代码片
.
设置按钮的功能,通过连接
import sys from PyQt5.QtWidgets import QWidget, QPushButton, QApplication from PyQt5.QtCore import QCoreApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建一个button,父级组件是 QWidget qbtn = QPushButton('Quit', self) # 窗口建立连接,连接到 APP 实例的 退出功能 # 点击按钮之后,信号会被捕捉并给出既定的反映。QCoreApplication是事件的主循环 # 它能添加和删除所有的事件,instance()创建了一个它的实例。 # 点击事件和能终止进程并退出应用的quit函数绑定在了一起。 # 在发送者和接受者之间建立了通讯,发送者就是按钮,接受者就是应用对象.退出功能 qbtn.clicked.connect(QCoreApplication.instance().quit) qbtn.resize(qbtn.sizeHint()) qbtn.move(50, 50) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Quit button') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
代码片
.
当关闭时,弹出消息框,确认关闭与否
import sys from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Message box') self.show() def closeEvent(self, event): # 这里closeEvent属于子类重写,当关闭时调用 # d当关闭QWidget时,会产生一个QCloseEvent,改变这个event默认的行为 # 弹出yes or no # 设立一个消息盒子,提出问题,有两个选项 用或相连,后面是默认值 # 如果选yes,那么就接收,如果选no,则自动忽略 reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
代码片
.
import sys from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.resize(1000, 800) self.center() self.setWindowTitle('Center') self.show() def center(self): # QDesktopWidget提供了用户的桌面信息,包括屏幕的大小,frame框架 Geometry几何位置 # 得到了主窗口的大小。 qr = self.frameGeometry() # 这个就是调取桌面的几何位置的中心位置 # 获取显示器的分辨率,然后得到中间点的位置。 cp = QDesktopWidget().availableGeometry().center() # 将窗口移动到桌面的中心 # 然后把自己窗口的中心点放置到qr的中心点。 qr.moveCenter(cp) # 将窗口移动到电脑屏幕的左上角 # 这里如果不移动到左上角会发生什么呢? # 之前不是已经将中心点与中心点对其了吗? self.move(qr.topLeft()) if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。