PyQT5-界面测试

PyQT5介绍

PyQT5-界面测试_第1张图片

1. 什么是 PyQt5?

PyQt5 是一个用于 Python 编程语言的绑定库,提供了对 Qt 应用程序框架的访问。Qt 是一个跨平台的 C++ 框架,用于构建桌面应用程序。通过 PyQt5,开发者可以使用 Python 轻松构建跨平台的桌面应用程序,支持 Windows、macOS 和 Linux。

2. PyQt5 的主要功能

PyQt5 提供了丰富的功能和广泛的控件支持,适用于开发复杂的用户界面。以下是其主要功能:

  • 丰富的控件库:包括按钮、标签、文本框、列表框等。

  • 布局管理:支持水平布局、垂直布局、网格布局等多种布局方式。

  • 信号与槽机制:用于实现控件之间的交互。

  • 多窗口管理:支持多窗口切换和堆叠布局。

  • 跨平台支持:支持 Windows、Linux、macOS 等操作系统。

3. PyQt5 的优势
  • 开发效率高:使用 Python 编程,结合 Qt Designer(可视化界面设计工具),可以快速开发复杂的 GUI 应用。

  • 保留底层运行效率:虽然使用 Python 编程,但底层运行效率高。

  • 丰富的文档和社区支持:PyQt5 拥有详细的官方文档和活跃的社区。

4. 安装 PyQt5

可以通过以下方式安装 PyQt5:

  • 使用 PyCharm:通过 PyCharm 的设置或终端安装 PyQt5。

  • 使用 pip:在终端运行 pip install PyQt5 命令。

实现目标:

设计一个基于pyqt5的图形菜单

代码实现:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, \
    QStackedWidget, QLabel
from PyQt5.QtCore import Qt

# 窗体名称
db_WindowsTitle ="PyQT5界面测试"
#窗体顶部菜单信息字典
db_WindowsMenu ={
    'file':"文件",'devmanage':"设备管理",'trend':"趋势分析",'waveform':"波形分析",
    'diagnosis1':"智能诊断",'diagnosis2':"智能诊断",'expertsystem':"专家系统",'help':"帮助"
}

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        # 设置窗口标题和大小
        self.setWindowTitle(db_WindowsTitle)
        self.resize(800, 600)

        # 创建菜单栏
        menubar = self.menuBar()

        # 创建一级菜单
        file_menu = menubar.addMenu(db_WindowsMenu['file'])
        devm_menu = menubar.addMenu(db_WindowsMenu['devmanage'])
        tren_menu = menubar.addMenu(db_WindowsMenu['trend'])
        wave_menu = menubar.addMenu(db_WindowsMenu['waveform'])
        dia1_menu = menubar.addMenu(db_WindowsMenu['diagnosis1'])
        dia2_menu = menubar.addMenu(db_WindowsMenu['diagnosis2'])
        expe_menu = menubar.addMenu(db_WindowsMenu['expertsystem'])
        help_menu = menubar.addMenu(db_WindowsMenu['help'])
        # 创建二级菜单
        open_action = QAction("Open", self)
        save_action = QAction("Save", self)
        exit_action = QAction("Exit", self)
        file_menu.addAction(open_action)
        file_menu.addAction(save_action)
        file_menu.addSeparator()
        file_menu.addAction(exit_action)

        # 创建树状菜单
        tree_widget = QTreeWidget()
        tree_widget.setHeaderLabels(["Menu", "Description"])
        tree_widget.setColumnWidth(0, 200)


        self.center()


    def center(self):
        """将窗口居中显示在屏幕上"""
        qr = self.frameGeometry()
        cp = QApplication.desktop().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())

if __name__ == "__main__":
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec_())

实现效果:

PyQT5-界面测试_第2张图片

你可能感兴趣的:(图形化,Python,qt,数据库,开发语言)