• PyQt5桌面应用启动模板


    Application

    • QApplication类用于管理图形用户界面应用程序的控制流和主要设置,可以说QApplication是PyQt的整个后台管理的命脉。任何一个使用PyQt开发的图形用户界面应用程序,都存在一个QApplication对象。
    • 比如它管理着初始化,程序入口参数的处理,用户事件(点击,输入,拖拽)分发给各对应的控件等等。
    • 必须在任何GUI对象创建前,先创建它。
    • PyQt5.QtWidgets下。

    创建一个主窗口

    PyQt5中的主窗口类型:

    • QMainWindow : 可以包含菜单栏,工具栏,状态栏,标题栏,是最常见的窗口形式。
    • QDialog:对话窗口的基类,一般用于执行一些短期任务,无上述几个栏。
    • QWidget:不确定窗口的用途就使用Widget。

    主窗口显示

    • 使用窗口对象的show方法显示主窗口

    退出主窗口

    • 使用sys.exit()方法退出可以确保程序完整的结束。
    • 在这种情况下系统的环境变量会记录程序是如何退出的。
    • 如果程序运行成功,那么exec_()的返回值为0,否则为非0。
    • sys.exit(app.exec_())

    代码生成的GUI使用

    • sys.argv参数是一个来自命令行的参数列表,Python脚本可以在shell中运行。这是我们用来控制应用启动的一种方法。
    • app.exec_() —— 消息循环结束之后,进程自然也会结束。
    • sys.exit(app.exec_()) —— 消息循环结束之后返回0,接着调用sys.exit(0)。

    代码图示

    在这里插入图片描述

    设置步骤

    # setWindowTitle 设置窗口标题
    # setWindowIcon 设置窗口图标
    app = QApplication(sys.argv)
    window = QWidget()
    window .resize(250, 150)
    window .move(300, 300)
    window .setWindowTitle('First Window')
    window .setWindowIcon(QIcon('dog.png')) 
    window .show()
    sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    代码模板

    from PyQt5.QtWidgets import QMainWindow, QApplication
    import sys
    from PyQt5.QtGui import QIcon
    
    
    class FirstMainWin(QMainWindow):
        def __init__(self):
            super().__init__()
            self.init_ui()
        def init_ui(self):
            self.setWindowTitle("First GUI")
            self.setWindowIcon(QIcon("dog.png"))
            self.status = self.statusBar()
            self.status.showMessage("信息显示5s")
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        window = FirstMainWin()
        window.show()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    QT designer生成的GUI使用

    直接load生成的ui

    • 使用PyQt5下的uic下的loadUi方法。self.ui =uic.loadUi(r"pachong.ui")。
    • 然后自定义set_ui方法,调用。
    • 其它同 代码生成的GUI使用的介绍。
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtGui import QIcon
    from PyQt5 import uic
    import sys
    
    
    class Mainwindow:
        def __init__(self):
            self.ui = uic.loadUi(r"pachong.ui")
            self.set_ui()
    
        def set_ui(self):
            self.ui.setWindowTitle('First Window')
            self.ui.setWindowIcon(QIcon(r"dog.png"))
            self.ui.show()
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        window = Mainwindow()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    将ui文件转为py文件

    • 先创建QMainWindow对象,然后创建ui对象(ui转成的py文件中的类)
    • 调用其setupUi方法。
    • 其它同 代码生成的GUI使用的介绍。
        app = QApplication(sys.argv)
        main_window = QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(main_window)
        main_window.show()
        sys.exit(app.exec())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    cookie详解
    通过bigMap工具获取地图上各地方的经纬度范围
    1.定义ddos僵尸网络
    ant design form动态增减表单项Form.List如何进行动态校验规则
    Nginx:负载均衡(策略讲解+配置举例)
    spark运行报错
    uni-app:允许字符间能自动换行(英文字符、数字等)
    GICI-LIB源码阅读(二)主要的类和程序执行流程
    打造千万级流量秒杀第十九课 API 设计:如何使用 RESTFul 和 RPC 实现 API ?
    7个设计师必备的Figma汉化插件,高效设计超简单!
  • 原文地址:https://blog.csdn.net/weixin_48668114/article/details/126795692