我有一个关于pyside2-uic的问题,因为它似乎会生成错误的代码。首先,没有办法禁用Qt设计器中的翻译吗?禁用每个字符串的可翻译复选框是件痛苦的事,我发现retranslateUi代码有点麻烦。
现在,真正的问题是:正如您所看到的,pyside2-uic似乎增加了条目位置计数,甚至对于无关的小部件也是如此。如果我创建一个子类并执行它,像combox_wb这样的组合框不带默认值,因为条目7-9可能不存在,而且应该是0-2。(我知道您可以将它们保留为空,并在继承自uic生成的类的类中手动进行设置)。
def retranslateUi(self, MainWindow):
self.gbox_settings.setTitle(QtWidgets.QApplication.translate("MainWindow", "settings", None, -1))
self.combox_colorspace.setItemText(0, QtWidgets.QApplication.translate("MainWindow", "0 Raw color (unique to each camera)", None, -1))
self.combox_colorspace.setItemText(1, QtWidgets.QApplication.translate("MainWindow", "1 sRGB D65 (default)", None, -1))
self.combox_colorspace.setItemText(2, QtWidgets.QApplication.translate("MainWindow", "2 Adobe RGB (1998) D65", None, -1))
self.combox_colorspace.setItemText(3, QtWidgets.QApplication.translate("MainWindow", "3 Wide Gamut RGB D65", None, -1))
self.combox_colorspace.setItemText(4, QtWidgets.QApplication.translate("MainWindow", "4 Kodak ProPhoto RGB D65", None, -1))
self.combox_colorspace.setItemText(5, QtWidgets.QApplication.translate("MainWindow", "5 XYZ", None, -1))
self.combox_colorspace.setItemText(6, QtWidgets.QApplication.translate("MainWindow", "6 ACES", None, -1))
self.combox_wb.setItemText(7, QtWidgets.QApplication.translate("MainWindow", "ignore camera white balance", None, -1))
self.combox_wb.setItemText(8, QtWidgets.QApplication.translate("MainWindow", "use camera white balance", None, -1))
self.combox_wb.setItemText(9, QtWidgets.QApplication.translate("MainWindow", "specify own raw white balance", None, -1))
self.combox_gamma.setItemText(10, QtWidgets.QApplication.translate("MainWindow", "linear", None, -1))
self.combox_gamma.setItemText(11, QtWidgets.QApplication.translate("MainWindow", "sRGB", None, -1))
self.combox_bitdepth.setItemText(12, QtWidgets.QApplication.translate("MainWindow", "16-bit", None, -1))
self.combox_bitdepth.setItemText(13, QtWidgets.QApplication.translate("MainWindow", "8-bit", None, -1))
self.tbtn_dcrawexec.setText(QtWidgets.QApplication.translate("MainWindow", "...", None, -1))发布于 2019-08-07 11:59:05
这是由PySide中的一个bug引起的。当使用PyQt或旧PySide时,相同的ui文件将按预期工作(即索引为每个小部件在零处重新启动)。查看pyside2uic 2 uiparser.py/uiparser.py的代码显示,它们使用一个共享属性(self.item_nr)进行索引--但对于树小部件,它只会被重置为零。
我建议您创建一个错误报告。
发布于 2019-09-09 12:14:23
刚刚得到了新版本的PySide2。好像现在修好了。如果您使用pip,只需运行"pip安装-升级PySide2“来升级。
https://stackoverflow.com/questions/57364339
复制相似问题