PyQt5编程(2) : Hollow World程序

# -*- coding: utf-8 -*-

from PyQt5 import QtWidgets

import sys

app = QtWidgets.QApplication(sys.argv)

window = QtWidgets.QWidget()

window.setWindowTitle("PyQt5的第一个程序")

window.resize(300, 70)

label = QtWidgets.QLabel("Hollo World!")

btnQuit = QtWidgets.QPushButton("关闭窗口")

vbox = QtWidgets.QVBoxLayout()

vbox.addWidget(label)

vbox.addWidget(btnQuit)

window.setLayout(vbox)

btnQuit.clicked.connect(app.quit)

window.show()

sys.exit(app.exec_())

1.PyQt的程序结构

第1行:# -*- coding: utf-8 -*- 指定程序文件的编码格式

第2行:载入PyQt5的QtWidgets模块。它包括实现GUI图形界面所需的window,button等。

第3行:载入Python的sys模块。

第4行:app = QtWidgets.QApplication(sys.argv)

创建每一个PyQt5程序都需要的application对象,可以在程序的任何地方通过QtWidgets的qApp属性来访问。例如,可用来打印命令行参数:print(QtWidgets.qApp.arguments()),sys.argv参数是一个命令行参数列表。

第5行:window = QtWidgets.QWidget()

使用没有参数的默认构造函数创建一个窗口对象。QtWidget部件是PyQt5中所有用户界面类的父类。

第6行:window.setWindowTitle("PyQt5的第一个程序")

设置窗口部件的标题,该标题将在标题栏中显示。

第7行:window.resize (300, 70)

设置窗口的client区域大小为300像素宽,70像素高。

第8行:label = QtWidgets.QLabel("HolloWorld!")

创建一个QLable对象,居中显示“Hollo

World!”。本句中使用以html格式文字为参数的构造函数。

第9行:btnQuit =QtWidgets.QPushButton("关闭窗口")

创建一个QPushButton对象, 显示的文字为“关闭窗口”。

第10行:vbox =QtWidgets.QVBoxLayout()

创建一个.QVBoxLayout 竖向容器对象。所有加到里面的对象将按从上到下顺序排列,而且加入其中的对象宽度也将自动调整到QVBoxLayout的宽度。

第11,12行:vbox.addWidget(label)

vbox.addWidget(btnQuit),调用QVBoxLayout的addWidget方法,将前面创建的lablel,btnQuit添加到容器中,同时成为容器的子类对象。

第13行:window.setLayout(vbox)

将vbox容器添加到窗口,同时成为window的对类对象。

第14行:btnQuit.clicked.connect(app.quit)

给btnQuit对象的clicked信号句柄赋值,本句中是应用程序的退出函数(app.quit),称为槽(slot)。

第15行:window.show()

将窗口显示在屏幕上。

第16行:sys.exit(app.exec_())

进入该程序的主循环。事件处理从本行语句开始。主循环接受事件消息并将其分发给程序的各个部件。

你可能感兴趣的:(PyQt5编程(2) : Hollow World程序)