【发布时间】:2017-07-22 19:17:24
【问题描述】:
我使用的是 Qt Designer 4.8.7,从它开始。我创建了一个MainWindow,我想在其中加载一个布局。
我有一个小部件,由 Qt 设计器的pyuic4 生成。
我正在加载我的小部件
self.setCentralWidget(myWidget)
它会抛出这个错误:
AttributeError: 'Ui_myWidget' object has no attribute 'setObjectName'
它清楚地解释了传递的对象不被识别为QWidget。这个问题可以通过修改类定义来解决:
class Ui_myWidget(object):
到
class Ui_myWidget(QtGui.QWidget):
由于小部件将被更新,每次.py 将再次生成,我将不得不手动编辑。我想避免这种情况。我错过了一步吗?
【问题讨论】:
-
如果可能,您根本不应该编辑由
pyuic4生成的 .py 文件。相反,您在它们旁边创建一个新的 .py 文件并导入这些文件以调用小部件:from pyfilename import Ui_myWidget -
这是为了测试目的。 @eyllanesc 提供的答案也解释了这一点。谢谢!
标签: python qt pyqt pyqt4 qt-designer