• 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_())
  • 相关阅读:
    js上传Excel文件
    在typescript中import第三方类库clipboard报错
    webpack学习(一)安装和命令行、一次js/css的打包体验及不同版本错误
    querySelector和getElementById之间的区别
    关于js延迟加载(异步操作)的方式
    addEventListener与attachEvent
    ES6 的Object.assign(target, source_1, ..., source_n)方法与对象的扩展运算符
    JS实现生成一个周对应日期数组
    微信小程序之媒体查询@media
    微信小程序之页面引用utils中的js文件
  • 原文地址:https://www.cnblogs.com/mosewumo/p/12460915.html
Copyright © 2020-2023  润新知