• 【Python教学】pyqt6入门到入土系列,超详细教学讲解


    一、什么是PyQt6? 简单介绍一下PyQt6

    1、基础简介

    PyQt6 Digia 公司的 Qt 程序的 Python 中间件。Qt库是最强大的GUI库之一。PyQt6的官网:www.riverbankcomputing.co.uk/news。PyQt6是由Riverbank Computing公司开发的

    PyQt6 是基于 Python 的一系列模块。它是一个多平台的工具包,可以在包括Unix、Windows和Mac OS在内的大部分主要操作系统上运行。PyQt6 有两个许可证,开发人员可以在 GPL 和商业许可之间进行选择。

    2、安装 PyQt6

    pip install PyQt6
    
    • 1

    3、PyQt6 模块

    PyQt6 类是由一系列模块组成的,包括如下的模块:

    • QtCore
    • QtGui
    • QtWidgets
    • QtDBus
    • QtNetwork
    • QtHelp
    • QtXml
    • QtSvg
    • QtSql
    • QtTest

    1)、 界面框架部分

    主类

    • QLayout
    • 继承类
    • QGridLayout (网格布局)
    • QBoxLayout(简单的上下布局)
    • QStackedLayout(可切换widget的布局)
    • FlowLayout

    2)、 界面组件部分(其实也是Widget类)

    • button
    • label
    • 等等

    3)、 界面样式部分

    • color
    • size
    • font
    • Icon

    4)、界面交互部分

    • action
    • event
    • signal
    • slot
    • connect

    4、概念之间关系

    QWidget 作为页面的主体,挂载layout(框架),框架添加页面的组件,通过 action(动作,类似于点击),event(事件),signal(信号),slot(信号槽),connect(动作绑定)产生交互
    通过样式类,类似于 Icon(图标),大小,颜色,字体等,修改界面的细节
    widget 上需要有layout,layout可以继续添加widget,可以一直加下去

    5、学习文档

    学习文档:参考First programs in PyQt6 - center window, tooltip, quit button, message box

    二、编写一个简单的pyqt6程序

    1、简介

    编写一个简单的pyqt6程序

    2、知识点

    • PyQt6
    • sys

    3、实战

    1)、创建 python 文件

    #引入类
    from PyQt6.QtWidgets import (
        QApplication, QDialog, QPushButton, QHBoxLayout, QMessageBox
    )
    import sys
     
    if __name__ == "__main__":
        app = QApplication(sys.argv)
     
        window = QDialog()
        window.resize(400, 300)
        #弹出窗口
        def show_msg():
            QMessageBox.information(window, "信息提示", "你点击了我")
     
        hbox = QHBoxLayout()
        button = QPushButton("点击我")
        button.clicked.connect(show_msg)
     
        hbox.addWidget(button)
        window.setLayout(hbox)
    #展示窗口
        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
    • 22
    • 23
    • 24
    • 25
    • 26

    2)、运行结果
    在这里插入图片描述

    三、PyQt6如创建菜单栏

    1、主要知识点

    • 文件读写
    • 基础语法
    • PyQt6
    • sys

    2、实战

    菜单栏在GUI应用程序中很常见,它是位于各种菜单中的一组命令。(Mac OS 对菜单栏的处理是不同的,要得到类似的结果,我们可以添加下面这行: menubar.setNativeMenuBar(False)

    import sys
    from PyQt6.QtWidgets import QMainWindow, QApplication
    from PyQt6.QtGui import QIcon, QAction
     
     
    class Example(QMainWindow):
     
        def __init__(self):
            super().__init__()
     
            self.initUI()
     
     
        def initUI(self):
     
            exitAct = QAction(QIcon('exit.png'), '&Exit', self)
            exitAct.setShortcut('Ctrl+Q')
            exitAct.setStatusTip('Exit application')
            exitAct.triggered.connect(QApplication.instance().quit)
     
            self.statusBar()
     
            menubar = self.menuBar()
            fileMenu = menubar.addMenu('&File')
            fileMenu.addAction(exitAct)
     
            self.setGeometry(300, 300, 350, 250)
            self.setWindowTitle('Simple menu')
            self.show()
     
     
    def main():
     
        app = QApplication(sys.argv)
        ex = Example()
        sys.exit(app.exec())
     
     
    if __name__ == '__main__':
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    上门的示例中,创建了有一个菜单的菜单栏。这个菜单命令是终止应用,也绑定了快捷键 Ctrl+Q。示例中也创建了一个状态栏。

    exitAct = QAction(QIcon('exit.png'), '&Exit', self)
    exitAct.setShortcut('Ctrl+Q')
    exitAct.setStatusTip('Exit application')
    
    
    • 1
    • 2
    • 3
    • 4

    QAction 是行为抽象类,包括菜单栏,工具栏,或自定义键盘快捷方式。在上面的三行中,创建了一个带有特定图标和 ‘Exit’ 标签的行为。此外,还为该行为定义了一个快捷方式。第三行创建一个状态提示,当我们将鼠标指针悬停在菜单项上时,状态栏中就会显示这个提示。

    exitAct.triggered.connect(QApplication.instance().quit)
    
    • 1

    当选择指定的行为时,触发了一个信号,这个信号连接了 QApplication 组件的退出操作,这会终止这个应用程序。

    menubar = self.menuBar()
    fileMenu = menubar.addMenu('&File')
    fileMenu.addAction(exitAction)
    
    • 1
    • 2
    • 3

    menuBar 方法创建了一个菜单栏,然后使用 addMenu 创建一个文件菜单,使用 addAction 创建一个行为。

    四、PyQt6创建一个状态栏

    1、主要知识点

    • 文件读写
    • 基础语法
    • PyQt6
    • sys

    2、实战

    状态栏是显示状态信息的小部件。

    • 相关阅读:
      算法训练(leetcode)第二十八天 | 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
      JVM进阶(1)
      热门Java开发工具IDEA入门指南——从Eclipse迁移到IntelliJ IDEA(一)
      使用RS485芯片进行串口通讯
      系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第八部分:Linux、安全
      盘点具备盈利潜力的几大加密板块,以及潜在的投资机会
      Day41——数据库基础,基本SQL语句
      【牛客网题目详解】1008 牛牛学数列3
      看5G时代,“一键喊话”的大喇叭如何奏响基层治理最强音
      【表面缺陷检测】铝型材表面缺陷检测数据集介绍(含xml标签文件)
    • 原文地址:https://blog.csdn.net/Gtieguo/article/details/128134678