QT Designer 生成的ui文件转化成py文件以及简单使用

设计

首先用QTdesigner 设计你的界面
然后保存成.ui文件
这一步大家应该都可以做到,就不细讲了

转换

然后就是转换步骤

使用cmd进入ui所在目录
或者在pycharm项目里的终端进入ui所在目录

然后输入下列语句

pyuic5 -o outputUI.py InputUI.ui

这里的outputUI就可以替换成你想要的输出文件名
InputUI就是你想要转换的ui文件名
稍等一会,就可以发现想要的py文件生成在同一个文件夹下了

使用

我第一次用使用了别人的代码

from PyQt5 import QtWidgets,QtCore
import sys

if __name__=="__main__":
    app=QtWidgets.QApplication(sys.argv)
    widget=QtWidgets.QMainWindow()
    ui=Ui_MainWindow()    
    ui.setupUi(widget)
    widget.show()
    sys.exit(app.exec_())

但是报错了

pyqt5 ‘QWidget’ object has no attribute ‘setCentralWidget’

然后找到问题的修改方法

widgets = QtWidgets.QWidget()
换成
widgets = QtWidgets.QMainWindow()

我推测可能是我新建ui时
选的MainWindow?

方法一

直接在UI生成的PY文件里添加下列语句
代码:

from PyQt5 import QtWidgets,QtCore
import sys

if __name__=="__main__":
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    app=QtWidgets.QApplication(sys.argv)
    widget=QtWidgets.QMainWindow()
    ui=Ui_MainWindow()    
    #我这边是默认的Ui_MainWindow,要是你们自己有修改,这边要相应修改
    ui.setupUi(widget)
    widget.show()
    sys.exit(app.exec_())

方法二

单独新开个py文件,使用方法调用

from outputUI import Ui_MainWindow
from PyQt5 import QtWidgets,QtCore
from PyQt5.QtWidgets import QApplication, QMainWindow,QWidget,QDialog
import sys

#这边的第一个参数,新建的时候是什么,就选什么
#新建一个class是为了后面方便写按钮方法和绑定
#如果你的功能不是很复杂,完全可以不写,照着方法一的代码调用也行
class UtilWindowUI(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(UtilWindowUI,self).__init__()
        self.setupUi(self)

if __name__=="__main__":
    app=QtWidgets.QApplication(sys.argv)
    widget=UtilWindowUI()
    widget.show()
    sys.exit(app.exec_())

如果帮助到你,能点个赞吗?

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐