当前位置: 首页 > news >正文

使用Qt Designer开发上位机

一、安装第三方库

使用pip命令安装第三方库

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

二、使用designer设计界面

1、找到对应的designer.exe,双击进入界面设计。

2、创建一个主界面。

2.1 实现一个按钮弹窗的功能

1、拖出来一个按钮

2、关联UI背后的动作事件

3、保存.ui文件

pyuic5 -o main.py .\main.ui

4、把生成的.ui文件生成对应的py文件

5、手动实现按钮背后的逻辑

2.2 测试

测试ok

三、源码

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file '.\main.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsimport sys
from PyQt5.QtWidgets import QApplication,QMainWindowclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(1017, 984)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(450, 180, 271, 101))font = QtGui.QFont()font.setPointSize(19)self.pushButton.setFont(font)self.pushButton.setObjectName("pushButton")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 1017, 22))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)self.pushButton.clicked.connect(self.button_on) # type: ignoreQtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "QT_demo"))self.pushButton.setText(_translate("MainWindow", "打开"))# 手动实现背后的逻辑def button_on(self):QtWidgets.QMessageBox.information(self.pushButton, "提示", "你点击了按钮")if __name__ == "__main__":app = QApplication(sys.argv)mainWindow = QMainWindow()ui = Ui_MainWindow()ui.setupUi(mainWindow)mainWindow.show()sys.exit(app.exec_())
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>MainWindow</class><widget class="QMainWindow" name="MainWindow"><property name="geometry"><rect><x>0</x><y>0</y><width>1017</width><height>984</height></rect></property><property name="windowTitle"><string>QT_demo</string></property><widget class="QWidget" name="centralwidget"><widget class="QPushButton" name="pushButton"><property name="geometry"><rect><x>450</x><y>180</y><width>271</width><height>101</height></rect></property><property name="font"><font><pointsize>19</pointsize></font></property><property name="text"><string>打开</string></property></widget></widget><widget class="QMenuBar" name="menubar"><property name="geometry"><rect><x>0</x><y>0</y><width>1017</width><height>22</height></rect></property></widget><widget class="QStatusBar" name="statusbar"/></widget><resources/><connections><connection><sender>pushButton</sender><signal>clicked()</signal><receiver>MainWindow</receiver><slot>button_on()</slot><hints><hint type="sourcelabel"><x>540</x><y>289</y></hint><hint type="destinationlabel"><x>550</x><y>527</y></hint></hints></connection></connections><slots><slot>button_on()</slot></slots>
</ui>

http://www.dtcms.com/a/565856.html

相关文章:

  • 嵌入式开发的“偷懒”高效艺术
  • 网站建设 优惠免费logo设计图
  • 苏州网站建设业务的公司全立体网站建设
  • 开发者实践:机器人梯控的 API 对接、边缘调度与 MQTT 解耦
  • 人脸识别:face_recognition参数详解
  • K8s入门
  • 沈阳企业网站seo公司wordpress无法上传mp3
  • 《道德经》第四十七章
  • 网站seo快速排名优化做网站每天更新两篇文章
  • imageio 视频帧拼接
  • Office安装提示已存在32位
  • 红外与可见光图像融合的跨模态Transformer
  • 美团LongCat-Flash-Omni上线:5600亿参数实现音视频交互“零延迟”
  • 谷秋精品课程网站建设软件中山网站排名推广
  • CentOS DNS故障排查完整解决方案:从症状到根因的系统化诊断
  • 中国建筑网官方网站入口博客导入wordpress
  • 网站备份流程网站开发如何共用菜单栏
  • 天津做网站要多少钱wordpress 媒体大小
  • 本地部署开源密码管理工具 Vaultwarden 并实现外部访问
  • 智慧园区告警管理系统:5000+传感器筑起安全“数字防线”
  • Python连接MySQL数据库
  • 淄博市网站云平台网站开发网络
  • ubuntu22.04切换内核
  • IMX6ULL无法通过Ubuntu22.04 NFS uboot挂载rootfs根目录解决
  • 苏州网站开发公司电话wordpress 不用80端口
  • 网站安全证书甜妹妹福利wordpress
  • C语言内功强化之goto
  • 【文献分享】DARKIN:基于蛋白质语言模型的零样本磷酸化位点与暗激酶关联基准测试
  • MATLAB实现遗传算法优化多avg栅格路径规划
  • 【Spring Boot 注解解析】Bean 生命周期注解深度解析:@PostConstruct 与 @PreDestroy 面试高频考点 + 实战案例