当我将.ui文件从Qt转换为.py时,我尝试运行它,但它没有显示我用Qt创建的gui。我试过添加
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
screen = Ui_Form()
screen.show()
sys.exit(app.exec_())
在我的代码末尾,但它返回一个错误:
回溯(最近一次呼叫最后一次):文件" C:\ Path ***。py",第12行, 在 类Ui_Form(对象):文件" C:\ Path ****。py",第355行,在Ui_Form中 screen = Ui_Form()NameError:name' Ui_Form'未定义
这是我的代码
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(490, 264)
*insert some more generated codes here*
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.Load_4.setText(_translate("Form", "Load"))
self.Load_5.setText(_translate("Form", "Load"))
*insert some more generated codes here*
答案 0 :(得分:1)
您不应该向pyuic工具生成的文件添加更多代码。相反,子类化文件中的Ui类。通过这样做,您可以更改gui并再次使用pyuic工具,而不会丢失您编写的所有代码。它看起来像这样:
(在另一个档案中)
from pyuic_generated_file import UiForm
class MainWindow(QtWidgets.QMainWindow, Ui_Form):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUi(self)
# code here
然后在你的主要方法中:
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())