将新标签和textEdit添加到这些选项卡正上方的网格后,当我使用pyuic4生成ui.py文件时,它会为许多不同的选项卡生成以下行,这会产生错误,因为它们没有足够的参数。
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文件。感谢
编辑:我更新了一切都无济于事。我对旧的UI文件做的任何改变都会导致这个问题,如果我在它上面使用pyuic4。如果重要的话,可以在qtDesigner中的currentTabText下检查可翻译的IS。问题发生在.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 :(得分:1)
YAY !!!!
使用设计器时标签的setTabText字段必须包含一些内容。事实证明,ui使用白色空格作为tabText,每当你打开设计师时它就会摆脱白色空间。因此,如果您在进行更改后再将标签文本设置为空格,则可以正常工作。