主要内容都在代码注释里了,比较方便
下面是一个小窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget #这里引入了PyQt5.QtWidgets模块,这个模块包含了基本的组件。
if __name__ == '__main__':
app = QApplication(sys.argv)#每一个pyqt5应用都必须创建一个应用对象,sys.argv是一组命令行参数的列表
w = QWidget() #赋值,没有父级的构造器被称为窗口(Windows)
w.resize(250, 150)#改变窗口大小,宽、高
w.move(300, 300)#把控件放置在屏幕坐标的位置,屏幕坐标系的原点是屏幕左上角
w.setWindowTitle('Simple')#窗口标题,标题栏展示
w.show() #能让控件在桌面上显示出来。
sys.exit(app.exec_())#进入了应用主循环中,当调用exit()方法或直接销毁主控件,主循环就会结束。
窗口图标
也可以基于类class来实现,下面是实现带窗口图标的代码,该部分主要是定义一个图标的方法,创建一个gui,由主程序调用,下面三个方法都继承自QWidget类
def initUI(self):
self.setGeometry(300, 300, 300, 220)#把窗口方法屏幕上并设置窗口大小,分别代表屏幕坐标X/Y,窗口宽、高
self.setWindowTitle('Icon') #窗口标题
self.setWindowIcon(QIcon('web.png')) #添加图标,先创建一个对象,然后接受一个路径作为参数显示图标
self.show()
效果如下图:
提示框
这里用的代码是重复了上一部分。所以注释只有提示框的一部分
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10)) #创建提示框,里面分别是字体和大小
self.setToolTip('This is a <b>QWidget</b> widget') #调用setTool可以使用富文本格式的内容
btn = QPushButton('Button', self) #创建一个按钮
btn.setToolTip('This is a <b>QPushButton</b> widget') #使用提示框
btn.resize(btn.sizeHint()) #调整按钮大小,sizeHint是默认的按钮大小
btn.move(50, 50) #此刻按钮的位置是相对于窗口的坐标
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Tooltips')
self.show()
关闭窗口
本例使用的是QPushButton组件类。
关闭窗口最直接的方式是点击标题栏的×,但是现在是通过程序关闭。
def initUI(self):
qbtn = QPushButton('Quit', self) #创建点击就退出的按钮,并创建一个对象,第一个参数是按钮的文本
qbtn.clicked.connect(QCoreApplication.instance().quit)#点击后与quit函数绑定。
qbtn.resize(qbtn.sizeHint())
qbtn.move(50, 50)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Quit button')
self.show()
点击后即会退出程序
消息盒子message
主要控件是Qmessagebox
主要用法就是创建一个
reply =QMessageBox.question(self,‘message’,“are you sure to quit?”,QMessageBox.Yes|
QMessageBox.No,QMessageBox.No)#默认是NO时间,在最后
if reply == QMessageBox.Yes:
event.accept()#执行关闭
else:
event.ignore() #忽略关闭
窗口居中
没啥子用的东西。。就是一个center