Hello World 的例子
此示例创建一个带有按钮和布局中的行编辑的简单窗口。它还显示了如何将信号连接到插槽,以便单击该按钮可在行编辑中添加一些文本。
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('Hello World')
w.show()
sys.exit(app.exec_())
分析
app = QtWidgets.QApplication(sys.argv)
每个 PyQt5 应用程序都必须创建一个应用程序对象。sys.argv 参数是命令行中的参数列表。Python 脚本可以从 shell 运行。
w = QWidget()
QWidget
小部件是 PyQt5 中所有用户界面对象的基类。我们为 QWidget
提供默认构造函数。默认构造函数没有父级。没有父项的窗口小部件称为窗口。
w.resize(250, 150)
resize()
方法调整窗口小部件的大小。它宽 250px,高 150px。
w.move(300, 300)
move()
方法将小部件移动到屏幕上 x = 300,y = 300 坐标处的位置。
w.setWindowTitle('Hello World')
在这里,我们为窗口设置标题。标题显示在标题栏中。
w.show()
show()
方法在屏幕上显示小部件。窗口小部件首先在内存中创建,然后在屏幕上显示。
sys.exit(app.exec_())
最后,我们进入应用程序的主循环。事件处理从这一点开始。mainloop 从窗口系统接收事件并将它们分派给应用程序小部件。如果我们调用 exit()
方法或主窗口小部件被销毁,则 mainloop 结束。sys.exit()
方法确保干净的退出。将通知环境应用程序如何结束。
exec_()
方法有一个下划线。这是因为 exec 是一个 Python 关键字。因此,改用了 exec_()
。