学习Python之后,对于PyQt开发更加感兴趣。话不多说,第一篇介绍如何创建一个简单的窗口。先上源代码:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == ’__main__’:
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle(’First PyQt5’)
w.show()
sys.exit(app.exec_())
代码解析:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
先导入所需要的模块,包括sys,PyQt5.QtWidgets的QApplication和QWidget模块。
app = QApplication(sys.argv)
每一个PyQt5项目都需要创建一个QApplication对象。sys.argv则提供了命令行的一些参数,这样Python脚本就能从Shell运行,这是我们控制脚本开始运行的方式。
w = QWidget()
QWidget是所有界面的基类,这里采用默认的构造函数(无父对象,没有父对象的widget也就是window)。
w.resize(250, 150)
用resize函数重设了窗口的大小为250px宽,150px高。
w.move(300, 300)
move函数把窗口移动到了x=300,y=300d的坐标位置。
w.setWindowTitle(’Simple’)
设置了窗口的标题,会在窗口的标题栏中央显示。
w.show()
show函数让Simple这个窗口在屏幕中显示出来,这个窗口是先在内存中产生,然后再显示在屏幕中的。
sys.exit(app.exec_())
在开头我们设置了这个应用的主函数,事件由此开始产生,主函数从窗口系统接受事件并传递给widget应用,而当我们使用exit()或者关闭了widget时,主函数就终止。sys.exit()确保干净利落不留痕迹地退出。
注意到这里的代码exec_(),exec后面还有个’_’,这是因为exec是Python的关键字,为了避免冲突用了一个下短横。最后可以看到一个简单的窗口界面:
需要说明的是,Qt自带有QtDesigner设计交互界面,相比手写界面代码是一种更直观的方式,在以后的学习笔记里也会介绍界面与代码分开的方法,但是作为初学,手写一些简单的界面是有助于理解Qt的。
原文来自:简书/链球选手