来创建第一个 PyQt 应用吧!本文由Cescfangs 译自ZetCode pyqt5系列教程 并作适当修改。
之前用C++做过Qt的应用,用过一次就喜欢上了Qt,但对于C++本身并不是很喜欢(当时本宝宝还年轻😂),可能是因为C++确实很难,在学习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的。