分解简单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_())