2014-09-04 54 views
0

我剛在Ubuntu上使用PyQt4。我的問題是,pyuic4生成的代碼子類的對象,而不是適當的部件類,在這種情況下,應該是QDialog。爲什麼pyuic4繼承對象而不是QDialog?

我可以在python解釋器中無誤地導入PyQt4.Qt,我可以在代碼中運行.ui python腳本,它使用uic.loadUiType(「filename.ui」)動態加載它。

我懷疑我在安裝Qt,sip和PyQt4時做了錯誤,但是我已經閱讀了各種指令,並且看不到我可能出錯的地方。大量的谷歌搜索沒有發現任何有類似問題的人,所以我在尋求幫助。

有沒有人看過這個,或知道發生了什麼事?我很歡迎有關如何解決此問題的建議。

回答

1

這不是問題。它應該是這樣的。 您需要從生成的類和QDialog中創建另一個類和子類。 這是你生成的類:

class Ui_Class1(object): 
    ... 

這是第二類:

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

現在,您可以更改Class1並使用它。重要提示:由於Ui_Class1(object)是自動生成的,因此您不應對此課程進行任何更改。將所有更改設爲Class1(QtGui.QDialog, Ui_Class1)

+0

謝謝你的回答。我很高興我的配置是正確的。我正在通過Jonathan Gardner的一個教程,https://wiki.python.org/moin/JonathanGardnerPyQtTutorial,這顯然已過時。我猜對象曾經有不同的行爲,使他的代碼工作。它不再工作。 – KJR 2014-09-04 17:40:49