pyqt5学习之程序基本结构分析

分解简单gui框架的程序内容及其代码意义

1.模板编写

from PyQt5.Qt import *
import sys

# 1.创建一个应用程序对象
app = QApplication(sys.argv)

# 2.控件的操作

# 2.1创建控件
window = QWidget()

# 2.2设置控件
window.setWindowTitle("学习PYQT5") # 设置标题栏标题

# 2.3展示控件
window.show()

# 3.应用程序的执行,进入到消息循环
sys.exit(app.exec_())

2.程序解析

# 0.导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了我们常用的一些类,汇总到了一块
import sys

# 1.创建一个应用程序对象
# 它包含了事件循环,在其中来自窗口系统和其他资源的所有事件被处理和调度
# 它也处理应该程序的初始化和结束,并且提供对话管理
# 它也处理绝大多数系统范围和应用程序范围的设置
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件(大小,位置,样式.....),事件,信号的处理
# 2.1创建控件
# 当我们创建一个控件之后, 如果说,这个控件没有父控件, 则把它当做顶层控件(窗口)
# 系统会自动的给窗口添加一些装饰(标题栏), 窗口控件具备一些特性(设置标题,图标)
window = QWidget()

# 2.2设置控件
window.setWindowTitle("学习PYQT5")

# 2.3展示控件
# 刚创建好一个控件之后,(这个控件没有什么父控件), 默认情况下不会被展示,只有手动的调用show()才可以
# 如果说这个控件, 有父控件的,那么一般情况下, 父控件展示之后, 子控件会自动展示
window.show()

# 3.应用程序的执行,进入到消息循环
# 让整个程序开始执行,并且进入到消息循环(无限循环)
# 检测整个程序所接收到的用户的交互信息
sys.exit(app.exec_())  # app.exec_():让程序进入主循环,不要停止

3.父控件包含子控件展示

# 0.导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了我们常用的一些类,汇总到了一块
import sys

# 1.创建一个应用程序对象
# 它包含了事件循环,在其中来自窗口系统和其他资源的所有事件被处理和调度
# 它也处理应该程序的初始化和结束,并且提供对话管理
# 它也处理绝大多数系统范围和应用程序范围的设置
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件(大小,位置,样式.....),事件,信号的处理
# 2.1创建控件
# 当我们创建一个控件之后, 如果说,这个控件没有父控件, 则把它当做顶层控件(窗口)
# 系统会自动的给窗口添加一些装饰(标题栏), 窗口控件具备一些特性(设置标题,图标)
window = QWidget()

# 2.2设置控件
window.setWindowTitle("学习PYQT5")
window.resize(500,500)  # 设置控件大小
window.move(400,200)  # 设置控件所在位置,如果是父控件起始点是屏幕的左上方,如果是子控件起始点是父控件的左上方

label = QLabel(window)
label.setText("标签展示")  # 设置标签展示文本
label.move(200,200)
# 2.3展示控件
# 刚创建好一个控件之后,(这个控件没有什么父控件), 默认情况下不会被展示,只有手动的调用show()才可以
# 如果说这个控件, 有父控件的,那么一般情况下, 父控件展示之后, 子控件会自动展示
window.show()

# 3.应用程序的执行,进入到消息循环
# 让整个程序开始执行,并且进入到消息循环(无限循环)
# 检测整个程序所接收到的用户的交互信息
sys.exit(app.exec_())  # app.exec_():让程序进入主循环,不要停止

4.多个控件独立展示

# 0.导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了我们常用的一些类,汇总到了一块
import sys

# 1.创建一个应用程序对象
# 它包含了事件循环,在其中来自窗口系统和其他资源的所有事件被处理和调度
# 它也处理应该程序的初始化和结束,并且提供对话管理
# 它也处理绝大多数系统范围和应用程序范围的设置
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件(大小,位置,样式.....),事件,信号的处理
# 2.1创建控件
# 当我们创建一个控件之后, 如果说,这个控件没有父控件, 则把它当做顶层控件(窗口)
# 系统会自动的给窗口添加一些装饰(标题栏), 窗口控件具备一些特性(设置标题,图标)
window = QWidget()

# 2.2设置控件
window.setWindowTitle("学习PYQT5")
window.resize(500,500)  # 设置控件大小
window.move(400,200)  # 设置控件所在位置,如果是父控件起始点是屏幕的左上方,如果是子控件起始点是父控件的左上方

label = QLabel()
label.setText("标签展示")  # 设置标签展示文本
label.move(200,200)
# 2.3展示控件
# 刚创建好一个控件之后,(这个控件没有什么父控件), 默认情况下不会被展示,只有手动的调用show()才可以
# 如果说这个控件, 有父控件的,那么一般情况下, 父控件展示之后, 子控件会自动展示
window.show()
label.show()
# 3.应用程序的执行,进入到消息循环
# 让整个程序开始执行,并且进入到消息循环(无限循环)
# 检测整个程序所接收到的用户的交互信息
sys.exit(app.exec_())  # app.exec_():让程序进入主循环,不要停止

5.继承类展示

from PyQt5.Qt import *
class window(QWidget):
    def __init__(self):
        super(window, self).__init__()  # 使用类时一定要继承父类,否则代码会出现问题
        self.setWindowTitle("pyqt5学习")  # 设置标题栏文字
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        label = QLabel(self)
        label.setText("标签展示")

if __name__ == "__main__": # window需要,linux不需要
    import sys

    app = QApplication(sys.argv)

    window = window()
    window.show()

    sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/mosewumo/p/12460915.html