PyQT5-界面测试
·
PyQT5介绍

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_())
实现效果:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)