Python - PyQT5 - ui文件转为py文件
创始人
2025-06-01 13:21:37
0

在QTdesigner图形化编辑工具中,有些控件我们是可以直接在编辑界面进行编辑的,有些是不可以编辑的,只能通过Python代码进行编辑,不过总体来说,所有能够通过图形化编辑界面可以编辑的,都可以通过Python语言实现控制,这点是毋庸置疑的,不过为了更加美观及降级软件开发的难度,个人建议尽量使用图形化编辑界面进行编辑,这样实现难度减低很多,并且界面会更加整齐。

1、打开并添加所需控件

图形化编辑界面添加所需的控件 -> 点击保存即可,即可在pycharm中得到一个.ui文件

得到.ui文件

2、通过外部工具pyuic5生成.py文件

得到同名.py文件

3、py文件包含一个class类和2个函数

我们能够看到在函数retranslateUi中我们添加的控件 4个控件,其中控件lineEdit和checjBox我们已经设置了名字,这里也会做对应的代码生成;然而pushButton没有设置任何信息,这里就没有对应显示。

在函数setupui中,我们能够看到各个控件和我们的ui编辑界面的各类基本信息

class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(800, 600)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setGeometry(QtCore.QRect(60, 50, 51, 20))self.lineEdit.setObjectName("lineEdit")self.comboBox = QtWidgets.QComboBox(self.centralwidget)self.comboBox.setGeometry(QtCore.QRect(150, 50, 67, 22))self.comboBox.setObjectName("comboBox")self.checkBox = QtWidgets.QCheckBox(self.centralwidget)self.checkBox.setGeometry(QtCore.QRect(60, 100, 91, 31))self.checkBox.setObjectName("checkBox")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(150, 100, 75, 23))self.pushButton.setObjectName("pushButton")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 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)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.lineEdit.setText(_translate("MainWindow", "我爱祖国"))self.checkBox.setText(_translate("MainWindow", "是否勾选"))self.pushButton.setText(_translate("MainWindow", "PushButton"))

4、对于界面的再次编辑

由于部分信息在designer界面并不能完全的编辑,很多信息都需要通过Python代码进行编辑,如果我们直接在生成的.py文件中进行代码开发的话,一旦我们需要再次增加、删减、修改界面后再次生成py文件,都会将之前已经开发好的Python代码全部都会消失,因此一般情况下,我们都会重新再建一个py文件进行ui界面的再次编辑,通过调用untitled.py文件中的代码,实现新的逻辑功能,这样就算是重新生成untitled.py文件,也不会对我们已开发的代码有所修改。

新建py文件调用ui生成的py文件方法


class UIclass(QtWidgets,Qwidget, Ui_CANoe):def _init__(self):super().__init()self.setupui(self)self.setupui(self)

这样处理后,就可以直接通过self.**调用生成的untitled.py中的函数和相关控件;例如:

        self.setupui(self)self.lineEdit.setText("我爱祖国大地")

相关内容

热门资讯

002201,垂直涨停!这一概... 光刻机概念股集体爆发,多股20%涨停。玻璃纤维概念股早间大幅上扬,其中九鼎新材盘中突然放量拉升,仅约...
晚间公告|12月23日这些公告... 【品大事】 8连板胜通能源:如未来股票价格进一步上涨 公司可能申请停牌核查 胜通能源公告称,公司股票...
德邦证券:2026年A股有望继... 德邦证券发布2026年投资策略报告称,2026年A股有望继续慢涨行情,稳住指数具备充足支撑,政策层面...
长期存款产品“退潮”!六大行,... 临近年末,许多人的投资储蓄需求增加,但是部分市民发现,市场上的中长期存款产品有所减少。这是怎么回事?...
关税预期与矿山停产“共振”,伦... 在供应中断预期和关税威胁的双重推动下,视为全球经济风向标的工业金属——铜再创历史性新高。 周二(12...
金价再创新高! ▽以下是正文 国际金价延续连日来的涨势。受此带动,以人民币计价的黄金价格再创新高。12月23日,有品...
华为终端软件部总裁龚体华师大开... 近日,备受高校学子关注的鸿蒙公开课・总裁校园行落地华东师范大学,华为终端BG软件部总裁龚体以“创新引...
海富通基金范庭芳: 可重点关注... 范庭芳,11年证券从业经验(其中6年为基金投资经验),复旦大学工学硕士。2015年12月加入海富通基...
关于MiniMax上市,你可能... MiniMax已经转动港交所的门把手。 12月22日,据中国证监会网站,证监会国际合作司发布关于Mi...
中国国家队与华润饮料再合作 来源:滚动播报 (来源:北京商报) 北京商报讯(记者 张君花)12月23日,“再携手 共筑体育未来”...
存量盘活 | 2025年12月... 观点指数 各省市出台十五五规划建议,市内、离岛免税双向提速期内,多省市十五五规划建议聚焦提升消费能级...
“易主方案”披露后,中国高科连... 停牌前3天涨超20%,“易主方案”出炉并复牌后,中国高科(SH600730)却连续遭遇了两个跌停。 ...
“我是股东”走进市北高新,零距... 为持续提升上市公司透明度,助力投资者洞悉企业价值,增进上市公司与投资者的深度沟通了解,2025年12...
港股风向标|连续反弹后场内情绪... 财联社12月23日讯(编辑 冯轶)今日港股午后走弱,截至收盘,恒生指数、国企指数分别下跌0.11%及...
险企求“资”若渴 发债规模处于... 新华社北京12月23日电 《中国证券报》23日刊发文章《险企求“资”若渴 发债规模处于高位》。文章称...
Ep-PEG-anisamid... 常用名称:Ep-PEG-anisamide 包装规格: 瓶装,可按 mg 或 g 级提供 Ep-PE...
金价一夜涨了36元 记者探访黄... 封面新闻记者 杨芮雯 摄影报道 12月23日,COMEX黄金期货早间站上4500美元/盎司关口,再创...
被起诉的AI独角兽,这样回应好... AIX财经(AIXcaijing)原创 作者 | 陈丹 编辑 | 魏佳 AI与版权的战争,或许正迎来...
2863亿港元完美收官 全球I... 来源:21世纪经济报道 21世纪经济报道记者张伟泽 香港报道 2025年的最后一个月,港股IPO市...
金融滴灌破解融资难题 绵阳科技... 封面新闻记者 周洪攀 如何破解科技型企业长期面临的“融资难、贷款慢”发展瓶颈难题? 12月23日下午...