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.rhkb.cn/news/444403.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【英语】5. 考研英语语法体系

文章目录 前言句字的成分一、常规句型简单句(5 种)1. 定义:句子中只包含 *一套主谓结构* 的句子。(一个句子只能有一个谓语动词)2. 分类 并列句(由关联词组成)(3 种)基本…

Kubernetes系列之一快速部署一套K8s集群(kubeadm方式)

最近本人在重温云原生相关的技术,说到云原生,必然绕不开Kubernetes,今天想跟大家聊的就是大名顶顶的Kubernetes。相信很多朋友在学习和使用Kubernetes的过程遇到各式各样不同的问题。我将从一个初学者的角度来给大家讲解一下Kubernete从安装、…

嵌入式面试——FreeRTOS篇(八) Tickless低功耗

本篇为:FreeRTOS Tickless 低功耗模式篇 一、低功耗模式简介 1、低功耗介绍 答: 很多应用场合对于功耗的要求很严格,比如可穿戴低功耗产品、物联网低功耗产品等;一般MCU都有相应的低功耗模式,裸机开发时可以使用MCU的…

6-基于TMS320C6678、FPGA XC5VSX95T的6U CPCI 8路光纤信号处理卡

1、板卡概述   本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采用两片TI DSP TMS320C6678芯片和Xilinx公司V5系列FPGA XC5VSX95T-1FF1136芯片。包含PCI接口、GMII的以太网接口、Nor Flash接口、8路SFP光 纤,4路RS232。…

Maven 高级之分模块设计与继承、聚合

在软件开发中,随着项目规模的扩大,代码量和复杂度不断增加,传统的一体化开发模式逐渐暴露出诸多问题。为了解决这些问题,模块化开发应运而生,而 Maven 正是模块化开发的利器,它提供的继承和聚合机制为构建和…

小米 MIX FOLD工程固件 更换字库修复分区 资源预览与刷写说明

小米 MIX FOLD机型代号 :cetus 该手机搭载骁龙888旗舰处理器 。对于一些因为字库问题损坏导致的故障,更换字库后要先刷写对应的工程底层修复固件。绑定cpu后在写入miui量产固件。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…

hadoop入门

1.1 hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要是解决海量数据的存储和海量数据的分析计算的问题。通常Hadoop指的是一个更为广泛的概念Hadoop生态圈 1.2 hadoop发展历程 Hadoop创始人Doug Cutting,为了实现与Google类…

手把手CNVD漏洞挖掘 + 资产收集

💗想加SRC漏洞挖掘内部圈子,请联系我! 💗技术文章交流,请联系我! 💗需要职业技能大赛环境WP,请联系我!🍬 博主介绍 👨‍🎓 博主介绍&a…

C++设计模式——代理模式

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言代理模式的定义代理模式的具体实现 引言 我们经常听到代理服务器「代理服务器是一个中间服务器,能够接收客户端的请求,并代表客户端向服务器发起请求,然后将服…

【开源免费】基于SpringBoot+Vue.JS美发门店管理系统(JAVA毕业设计)

本文项目编号 T 069 ,文末自助获取源码 \color{red}{T069,文末自助获取源码} T069,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 美…

被AI坑的一天—CentOS7导入阿里云YUM源报错的 GPG密钥提示404

过于相信人工智能 配置YUM源根据AI的说法换阿里云的YUM源验证AI配置结果解决问题 配置YUM源 由于电脑受限制 , 不能访问境外网站,所以用不了centos自带的源 ,是报404的 根据AI的说法换阿里云的YUM源 编辑 /etc/yum.repos.d/CentOS-Base.repo ,更换为 配置完成后sudo yum …

【多线程】多线程(11):ABA问题,JUC的常见类

【ABA问题】 线程改变了一个数值,但又修改回去了,看上去跟没变一样,但实际上已经有改过了的痕迹,可能引发一些bug CAS中存在ABA问题,但大部分情况下它不会带来bug 【JUC的常见类】 JUC指的是java.util.concurrent这…

【华为HCIP实战课程十】OSPF网络DR和BDR实战讲解,网络工程师

一、DR与BDR的基础介绍 点到点同步LSA成本小 多点接入网络同步LSA成本大,需要DR/BDR 由于MA网络中,任意两台路由器都需要传递路由信息,网络中有n台路由器,则需要建立n*(n-1)/2个邻接关系。任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源,DR和BDR应运而生!…

数据结构_day1

目录 大纲 1.数据结构基础知识 1.1 什么是数据结构 1.2 数据 1.3 逻辑结构 1.4 存储结构 1.4.1 顺序存储 1.4.2 链式存储 1.4.3 索引存储结构 1.4.4 散列存储 1.5 操作 2.算法基础知识 2.1 什么是算法 2.2 算法的设计 2.3 算法的特性 2.4 评价算法的好坏 大纲 数据结构、算法(理…

【redis-07】redis实现主从复制架构和底层原理

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325【二】redis的持久化机制和原理https://zhenghuisheng.blog.csdn.net/article/details/142441756【三】redis缓存穿透、缓存击穿、缓存雪崩htt…

算法设计课程简介

算法设计课程简介 1. 课程概述 算法设计是一门计算机科学的核心课程,旨在教授学生如何设计、分析和优化各种算法,以解决实际问题。该课程不仅涉及具体算法的实现,更注重算法在时间复杂度和空间复杂度上的优化,帮助学生培养编写高…

echarts 括扑图(graph 与 lines实现)

目的 要实现一个由几条线串起来的设备,线是动态的,如下 相关技术 vue,echarts 难点 因为用到了两种图,要保持坐标系一致性,graph设置coordinateSystem: ‘cartesian2d’,后不能使用x,y要使用value,(这一点官网没…

vue-jsonp的使用和腾讯地图当前经纬度和位置详情的获取

1.下载: npm install –save vue-jsonp2.main.js中引入: //腾讯逆地址解析会用到jsonp import {VueJsonp} from vue-jsonp; Vue.use(VueJsonp);3.腾讯地图中使用 uniapp中获取*经纬度*和通过经纬度获取当前**位置详情** //获取当前经纬度 getLocation…

基于STM32的智能门锁

基于STM32的智能门锁 在现代家居安全领域,智能门锁已经成为提升居住安全和便利性的关键技术之一。本文将介绍一个基于STM32微控制器的智能门锁项目,该项目集成了多种模块,包括步进电机、矩阵键盘、OLED显示屏、蓝牙模块和RFID刷卡模块&#…

ClickHouse 数据保护指南:从备份到迁移的全流程攻略

一、背景 运行3年的clickhouse需要迁移机房,迁移单库单表的140亿条的数据。采用clickhouse-backup 的方式进行备份迁移,打包备份,再加上数据拷贝,数据恢复 一共花费30分钟。数据在一定量级,避免使用SQL 导入导出的方式…