为什么pyuic4子类化对象而不是QDialog?

时间:2014-09-04 00:17:47

标签: python qt pyqt4 python-sip pyuic

我在Ubuntu上新使用PyQt4。我的问题是pyuic4生成的子代码是对象而不是相应的widget类,在这种情况下应该是QDialog。

我可以在python解释器中导入PyQt4.Qt而不会出错,我可以在使用uic.loadUiType(" filename.ui")动态加载它的代码中运行.ui python脚本。

我怀疑在安装Qt,sip和PyQt4时我做错了什么,但是我已经查看了各种说明并且无法查看我可能出错的地方。很多谷歌搜索都没有出现类似问题的人,所以我一直在寻求帮助。

有没有人见过这个,或者知道发生了什么?我欢迎有关如何解决此问题的建议。

1 个答案:

答案 0 :(得分:1)

这不是问题。它应该是那样的。 您需要从QDialog生成的类AND中创建另一个类和子类。 这是您生成的类:

class Ui_Class1(object):
    ...

这是第二堂课:

class Class1(QtGui.QDialog, Ui_Class1):
    ...

现在您可以对Class1进行更改并使用它。重要提示:由于Ui_Class1(object)是自动生成的,因此您不应对此类进行任何更改。对Class1(QtGui.QDialog, Ui_Class1)进行所有更改。