pyQT生成界面,更改后不清除自定义代码的方法

基本原理就是作个子类继承生成的界面,在子类里写代码

工程结构

dialog_ui.py 界面子类

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QStandardItemModel, QStandardItem, QColor, QFont
from PyQt5.QtCore import Qt
import Ui_dialog
import sysclass myDialog(Ui_dialog.Ui_Dialog):#继承自UI_Diglog类,注意我把UI_Dialog放在了untitled.py中,如果你把这个类放在了XXX.py文件中,就应该是XXX.UI_Dialogdef __init__(self,Dialog):super().setupUi(Dialog)#调用父类的setupUI函数self.pushButton.clicked.connect(self.helloworld)#将按钮点击事件和helloworld函数绑定model = QStandardItemModel(5, 7)# 设置水平表头标签model.setHorizontalHeaderLabels(['设置值', '板卡1', '板卡2', '板卡3', '板卡4', '板卡5', '板卡6'])model.setVerticalHeaderLabels(['电压', '电流', '功率'])# 填充表格数据for row in range(5):  # 遍历行for column in range(7):  # 遍历列# 创建一个QStandardItem对象,表示单元格内容item = QStandardItem('Item {row}, {column}')# 将单元格内容添加到模型的指定位置model.setItem(row, column, item)self.tableView.setModel(model) def helloworld(self):#label上显示文字hello worldself.label.setText("hello world")if __name__ == "__main__":app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = myDialog(MainWindow)#注意把类名修改为myDialog#ui.setupUi(MainWindow)  myDialog类的构造函数已经调用了这个函数,这行代码可以删去MainWindow.show()sys.exit(app.exec_())

界面及转换后的界面代码Ui_dialog.py

from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Dialog(object):def setupUi(self, Dialog):Dialog.setObjectName("Dialog")Dialog.resize(800, 600)self.frame = QtWidgets.QFrame(Dialog)self.frame.setGeometry(QtCore.QRect(10, 60, 781, 531))sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)sizePolicy.setHorizontalStretch(0)sizePolicy.setVerticalStretch(0)sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())self.frame.setSizePolicy(sizePolicy)self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setObjectName("frame")self.tableView = QtWidgets.QTableView(self.frame)self.tableView.setGeometry(QtCore.QRect(0, 0, 781, 531))self.tableView.setObjectName("tableView")self.layoutWidget = QtWidgets.QWidget(Dialog)self.layoutWidget.setGeometry(QtCore.QRect(50, 20, 701, 26))self.layoutWidget.setObjectName("layoutWidget")self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget)self.horizontalLayout.setContentsMargins(0, 0, 0, 0)self.horizontalLayout.setObjectName("horizontalLayout")self.pushButton = QtWidgets.QPushButton(self.layoutWidget)self.pushButton.setObjectName("pushButton")self.horizontalLayout.addWidget(self.pushButton)self.checkBox = QtWidgets.QCheckBox(self.layoutWidget)self.checkBox.setObjectName("checkBox")self.horizontalLayout.addWidget(self.checkBox, 0, QtCore.Qt.AlignHCenter)self.pushButton_2 = QtWidgets.QPushButton(self.layoutWidget)self.pushButton_2.setObjectName("pushButton_2")self.horizontalLayout.addWidget(self.pushButton_2)self.label = QtWidgets.QLabel(self.layoutWidget)self.label.setObjectName("label")self.horizontalLayout.addWidget(self.label)self.pushButton_3 = QtWidgets.QPushButton(self.layoutWidget)self.pushButton_3.setObjectName("pushButton_3")self.horizontalLayout.addWidget(self.pushButton_3)self.label_2 = QtWidgets.QLabel(self.layoutWidget)self.label_2.setObjectName("label_2")self.horizontalLayout.addWidget(self.label_2)self.retranslateUi(Dialog)QtCore.QMetaObject.connectSlotsByName(Dialog)def retranslateUi(self, Dialog):_translate = QtCore.QCoreApplication.translateDialog.setWindowTitle(_translate("Dialog", "功率分析仪调试工具"))self.pushButton.setText(_translate("Dialog", "启动调试"))self.checkBox.setText(_translate("Dialog", "滤波"))self.pushButton_2.setText(_translate("Dialog", "输入源配置"))self.label.setText(_translate("Dialog", "model: fluk1123 on line"))self.pushButton_3.setText(_translate("Dialog", "调试板卡配置"))self.label_2.setText(_translate("Dialog", "sn:12345678"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1560849.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一种用于机械手自适应抓取控制的紧凑型指尖形视触觉传感器

背景 在机器人操作中,手部触觉感知对于稳定抓取起着重要作用。然而,传统的机械手多依赖于固定的抓力预设,无法灵活调整以适应不同类型的物体。尤其在处理脆弱、柔软或不规则物体时,预设的抓力可能导致物体损坏或抓取失败。为此&am…

Transformers在单细胞组学中的应用|顶刊精析·24-10-11

小罗碎碎念 这篇文章是一篇关于单细胞组学中Transformers应用的综述。 这篇文章两个月之前发表的,我在介绍张泽民院士的那篇推文中推荐过这篇文章,今天拎出来详细分析一下。 作者角色姓名单位名称第一作者Artur Szałata德国慕尼黑赫姆霍兹中心计算生物学…

2.JVM性能调优之JVM内存模型深度剖析与优化

1 JDK体系结构 2 Java语言的跨平台特性 3 JVM整体结构及内存模型 3.1 堆内存划分 public class Demo {public static void main(String[] args) {Demo demo new Demo();int rs demo.compute();System.out.println(rs);}public int compute() {int a 1;int b 3;int c (a b…

el-carousel-item自动重复渲染,使用nanoid让重复的元素包含不同的id

<template><div class"page-container"><div class"m-title">轮播图</div><el-carousel height"400px" :autoplay"true"><el-carousel-item v-for"(item, index) in carouselList" :key&…

FFmpeg的简单使用【Windows】

目录 一、视频生成图片 静态图片 转码过程 动态图片gif 二、图片生成视频 三、FFmpeg常用参数命令 3.1 主要参数 3.1.1、-i 3.1.2、-f 3.1.3、-ss 3.1.4、-t 3.2 音频参数 3.2.1、-aframes 3.2.2、 -b:a 3.2.3、-ar 3.2.4、-ac 3.2.5、-acodec 3.2.6、-an 3…

AI系列:10分钟在本地启动大模型

总目录 前言环境使用Ollama运行大模型使用Open WebUI访问大模型Web方式访问API方式访问 资源监测CPU/GPU内存 退出参考网页 前言 随着对AI技术尤其是大语言模型的了解和开源项目的发展&#xff0c;相信很多人已经逐渐熟悉这门技术。如果你也想尝试一下&#xff0c;不妨试试花1…

NV080D-S8 高品质otp语音芯片:让漱口水售货机更智能和人性化

随着科技的快速发展&#xff0c;自动售货机作为一种方便的购物方式&#xff0c;已经逐渐融入到人们的日常生活中。特别是近年来&#xff0c;NV080D-S8高品质OTP语音芯片的应用&#xff0c;更是为漱口水售货机这样的细分市场带来了前所未有的智能体验与人性化服务。这款芯片凭借…

【路径规划】自主机器人的路径规划和导航

摘要 本文讨论了如何利用路径规划算法对自主机器人进行路径规划和导航。自主机器人在环境中的路径规划是通过参考路径与机器人的当前位置进行比对&#xff0c;采用纯追踪算法&#xff08;Pure Pursuit&#xff09;进行路径跟踪&#xff0c;以确保机器人沿预定路线行驶。本文通…

sqli-labs通关全详解

前言 我们下面进行第一个漏洞——SQL注入的学习&#xff0c;SQL注入是十大漏洞之一&#xff0c;较为常见&#xff0c;算是Web安全入门必学漏洞。我们之前一直都以CTFHub为主线进行学习&#xff0c;但由于SQL注入细节较多&#xff0c;CTFHub的题目并不能深入学习。为探讨清楚SQ…

深入浅出之FPN (Feature Pyramid Networks for Object Detection)网络

FPN&#xff08;Feature Pyramid Network&#xff09;&#xff0c;即特征金字塔网络&#xff0c;是一种用于解决目标检测和语义分割中多尺度问题的深度学习网络结构。以下是对FPN网络的详细介绍&#xff1a; 一、概述 FPN网络是在2017年的CVPR会议上提出的&#xff0c;主要目…

时尚巨头Shein在英国的销售额飙升至 15.5 亿英镑,仅次于美国和德国,Shein怎么上架产品?

去年&#xff0c;在线时尚零售商 Shein 在英国的销售额飙升至 15.5 亿英镑&#xff08;20 亿美元&#xff09;&#xff0c;比之前的收益增长了 38%。这一增长使英国成为继美国和德国之后的 Shein 第三大市场。仅次于美国和德国。 英国公司注册局的文件显示&#xff0c;Shein税…

【vue2.7.16系列】手把手教你搭建后台系统__thinkphp6开启多应用(6)

thinkphp6开启多应用 由于多应用模式属于扩展&#xff0c;我们需要额外安装&#xff1b;composer require topthink/think-multi-app 安装后&#xff0c;创建 adminapi 和 ajpi 两个应用目录文件夹&#xff1b; adminapi作为前端后台接口应用&#xff0c;api作为前端前台接口应…

(六)、CT中的滤光片

在X射线中衰减是吸收和散射的结果。X射线可以由于光电效应而衰减&#xff0c;也可以由于康普顿效应而衰减和散射。长波长X射线对CT图像形成的贡献不显著&#xff0c;但会增加患者的剂量&#xff0c;总体的来讲就是要保留穿透能力强的X光。 光电效应是指当光子与物质中的原子相互…

带货直播这么流畅,原来是这套技术系统在支撑!

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! Hi,大家好,我是你们的小米,今天要跟大家聊聊 社区直播带货的直播流程,这个流程看似简单,但其实背后有着许多复杂的技术支撑,今天我们就来拆解一下…

2024年上半年主要游戏安全风险

随着游戏行业的蓬勃发展&#xff0c;安全问题也日益成为行业关注的焦点。面对 2024 年上半年的游戏安全风险挑战&#xff0c;游戏行业需要不断加强技术能力&#xff0c;完善安全策略&#xff0c;与各方共同努力&#xff0c;打造一个更加安全全、公平的游戏环境。 AI 外挂&#…

vue项目开发环境关闭所有console.log

直接在main.js中加入代码&#xff1a; console.log function(){}

【微服务】负载均衡 - LoadBalancer(day4)

下述所有代码都是在订单服务中修改的&#xff0c;商品服务并不需要修改&#xff0c;只需要启动多个实例即可。 引入 在介绍Eureka组件的最后&#xff0c;留下了一个问题就是&#xff0c;无论启动多少个实例&#xff0c;只能调用第一个。原因是因为服务调用时获取的是一个实例…

若依 根据角色权限 动态添加路由 学习

源于这个问题对若依权限改造的学习&#xff0c;用ASP.NET Core Web api 做后端&#xff0c;所以不是纯净的若依前端&#xff0c;有部分改过。 ​​​​​​​若依 从字典类型跳到字典数据跳到了404-CSDN博客 从路由守卫获取到用户信息开始&#xff0c;到路由跳转结束的过程 …

JavaWebServlet09深入:注册系统01---注册界面

一套完整的网页到Java到数据库的创建&#xff1a; html&#xff1a;进行数据收集以及呈现 controller层&#xff1a;根据servlet处理前台html的响应和请求&#xff0c;对数据进行接收&#xff0c;封装和验证 service层&#xff1a;业务&#xff0c;验证是否存在调用创建的dao…

文通车牌识别算法:精准识别,畅行无忧

在当今数字化时代&#xff0c;高效准确的车牌识别技术对于交通管理、停车场管理等领域至关重要。文通车牌识别算法以其卓越的性能脱颖而出。 一、强大的识别能力 文通车牌识别算法不仅能够精准识别国内各种车牌&#xff0c;对于海外车牌也有着出色的识别效果。无论是常见的欧美…