zoukankan      html  css  js  c++  java
  • PyQt5程序基本结构分析

    面向过程版

    # 0. 导入需要的包和模块
    from PyQt5.Qt import * # 包含了我们常用的QT中的一些类
    import sys # 一个内置的模块,系统相关操作
    
    # 代码执行的时候,可以接收命令行的参数 sys.argv
    # args = sys.argv # python命令运行时的参数,一般第0个是文件名,后面是其他参数
    # print(args)
    
    # 1. 创建一个应用程序对象,
    # 一个PyQt程序都需要一个应用程序对象
    #       * 它包含主事件循环,在其中来自窗口系统和其他资源的所有事件被处理和调度
    #       * 它也处理应用程序的初始化和结束,并且提供对话管理
    #       * 它也处理绝大多数系统范围和应用程序范围的设置
    app = QApplication(sys.argv)
    # app.arguments() # 可以获取创建时传入的参数
    # 也可以通过 qApp.arguments() 来获取
    
    # 2. 控件的操作
    # 创建控件,控件的设置,事件的处理等
    # 创建控件
    # 当我们创建一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(窗口)
    # 系统会自动地给窗口添加一些装饰(例如标题栏),窗口控件具备一些特征
    # 凡是顶层控件,都可以设置一些有关窗口的属性
    # 控件也可以作为一个容器(承载其他控件)
    # 如果一个控件有父控件,则父控件展示之后,子控件一般也会展示
    #window = QWidget()
    window = QLabel()
    # 设置控件
    window.setText("Hello World")
    window.setWindowTitle("titlexxxxxxx")
    # 展示控件
    # 刚创建好的控件默认不会被展示(如果这个控件没有什么父控件),需要手动show
    window.show()
    
    # 3. 应用程序的执行,进入到消息循环
    
    # 退出码,一般正常是0
    sys.exit(app.exec_())
    # app.exec_() 让整个程序开始执行, 进入消息循环(无限循环),不要停止
    # 消息循环检测整个程序所接收到的用户的交互信息和其他信息
    
    
  • 相关阅读:
    CodeForces Gym 100935G Board Game DFS
    CodeForces 493D Vasya and Chess 简单博弈
    CodeForces Gym 100935D Enormous Carpet 快速幂取模
    CodeForces Gym 100935E Pairs
    CodeForces Gym 100935C OCR (水
    CodeForces Gym 100935B Weird Cryptography
    HDU-敌兵布阵
    HDU-Minimum Inversion Number(最小逆序数)
    七月馒头
    非常可乐
  • 原文地址:https://www.cnblogs.com/wbyixx/p/12117344.html
Copyright © 2011-2022 走看看