2010-01-22 24 views
2

將新標籤和textEdit添加到這些選項卡上方的網格中後,當我使用pyuic4生成ui.py文件時,它會爲許多不同的選項卡生成以下行,從而導致關於沒有足夠參數的錯誤。如何讓pyuic4自動將選項卡設置爲「MainWindow」?

self.tcTab.setTabText(self.tcTab.indexOf(self.tab_6),) 

但是,在我做出更改之前,.ui會生成這個罰款。

self.tcTab.setTabText(self.tcTab.indexOf(self.tab_6), QtGui.QApplication.translate("MainWindow", " ", None, QtGui.QApplication.UnicodeUTF8)) 

此代碼工作正常,如果我編輯到ui.py文件中,我的更改也可以正常工作。然而,當我使用pyuic4時,如何讓它自動執行此操作。因爲據我所知,你不應該編輯ui.py文件。謝謝

編輯:我更新了一切無濟於事。如果我對它使用pyuic4,幾乎對舊UI文件做的任何更改都會導致此問題。如果可以的話,在qtDesigner的currentTabText下檢查可翻譯。問題發生在.py文件的此功能:

def retranslateUi(self, MainWindow): 

    #these are incorrect ones pyuic4 generates 
    self.tcTab.setTabText(self.tcTab.indexOf(self.tab_6),) 
    self.tcTab.setTabText(self.tcTab.indexOf(self.tab_9),) 

    #these are the correct lines it used to generate 
    self.tcTab.setTabText(self.tcTab.indexOf(self.tab_6),QtGui.QApplication.translate("MainWinow", " ", None, QtGui.QApplication.UnicodeUTF8)) 
    self.tcTab.setTabText(self.tcTab.indexOf(self.tab_9), QtGui.QApplication.translate("MainWindow", " ", None, QtGui.QApplication.UnicodeUTF8)) 

EDIT2:即使我在qtdesigner打開的.ui後,點擊的東西,甚至沒有對其進行修改,保存,然後用pyuic4,它所產生的壞碼。

+0

您正在使用哪個版本的PyQt4? – 2010-01-24 21:59:36

+0

pyuic4 --version Python用戶界面編譯器4.5.1 Qt版本4.5.1 – siege 2010-01-27 15:42:57

+0

你能發佈一個顯示問題的最小UI文件嗎? – 2010-01-27 23:06:05

回答

1

YAY !!!!

使用設計器時,製表符的setTabText字段必須包含一些內容。事實證明,ui使用空白作爲tabText,每當你打開設計器,它就擺脫了空白。因此,如果您在進行更改後再次將標籤文本設置爲空格,那麼它將起作用。

相關問題