【问题标题】:Why is pyuic4 subclassing object instead of QDialog?为什么 pyuic4 子类化对象而不是 QDialog?
【发布时间】:2014-09-04 00:17:47
【问题描述】:

我最近在 Ubuntu 上使用 PyQt4。我的问题是 pyuic4 生成子类对象的代码而不是适当的小部件类,在这种情况下应该是 QDialog。

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

我怀疑我在安装 Qt、sip 和 PyQt4 时做错了什么,但我查看了各种说明,看不出哪里出了问题。很多谷歌搜索都没有发现任何有类似问题的人,所以我正在寻求帮助。

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

【问题讨论】:

    标签: python qt pyqt4 python-sip pyuic


    【解决方案1】:

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

    class Ui_Class1(object):
        ...
    

    这是第二课:

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

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

    【讨论】:

    • 感谢您的回答。我很高兴我的配置是正确的。我正在学习 Jonathan Gardner 的教程,wiki.python.org/moin/JonathanGardnerPyQtTutorial,这显然已经过时了。我猜对象曾经有不同的行为,这使得他的代码能够工作。它不再起作用了。
    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2021-12-12
    相关资源
    最近更新 更多