【发布时间】:2011-01-08 09:06:31
【问题描述】:
在这些选项卡正上方的网格中添加新标签和 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,我对旧 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,它会生成错误的代码。
【问题讨论】:
-
你使用的是哪个版本的 PyQt4?
-
pyuic4 --version Python 用户界面编译器 4.5.1 用于 Qt 版本 4.5.1
-
你能发布一个显示问题的最小 UI 文件吗?
-
我用更多信息编辑了这个问题。