Contents

本文根据pythonspot英文教程编写,并加入了搜集的其他材料,by kowen

通过以下代码可以创建PyQt5窗口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 simple window - pythonspot.com'
self.left = 10
self.top = 10
self.width = 640
self.height = 480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())

通过setGeometry(left,top,width,height) 方法可以设置窗口的大小,setWindowTitle(title)方法可以设置窗口的标题,最后调用show()方法来显示窗口。

把代码存储为window.py,在终端使用以下语句运行程序:

1
python3 window.py

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。

每一个PyQt5项目都需要创建一个QApplication对象。sys.argv则提供了命令行的一些参数,这样Python脚本就能从Shell运行,这是我们控制脚本开始运行的方式。

sys.exit()确保干净利落不留痕迹地退出。注意到这里的代码exec(),exec后面还有个’‘,这是因为exec是Python的关键字,为了避免冲突用了一个下短横。最后可以看到一个简单的窗口界面

Contents