首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySide2-uic为无关的小部件生成越来越多的项索引。

PySide2-uic为无关的小部件生成越来越多的项索引。
EN

Stack Overflow用户
提问于 2019-08-05 18:37:39
回答 2查看 328关注 0票数 1

我有一个关于pyside2-uic的问题,因为它似乎会生成错误的代码。首先,没有办法禁用Qt设计器中的翻译吗?禁用每个字符串的可翻译复选框是件痛苦的事,我发现retranslateUi代码有点麻烦。

现在,真正的问题是:正如您所看到的,pyside2-uic似乎增加了条目位置计数,甚至对于无关的小部件也是如此。如果我创建一个子类并执行它,像combox_wb这样的组合框不带默认值,因为条目7-9可能不存在,而且应该是0-2。(我知道您可以将它们保留为空,并在继承自uic生成的类的类中手动进行设置)。

代码语言:javascript
复制
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))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-07 11:59:05

这是由PySide中的一个bug引起的。当使用PyQt或旧PySide时,相同的ui文件将按预期工作(即索引为每个小部件在零处重新启动)。查看pyside2uic 2 uiparser.py/uiparser.py的代码显示,它们使用一个共享属性(self.item_nr)进行索引--但对于树小部件,它只会被重置为零。

我建议您创建一个错误报告

票数 0
EN

Stack Overflow用户

发布于 2019-09-09 12:14:23

刚刚得到了新版本的PySide2。好像现在修好了。如果您使用pip,只需运行"pip安装-升级PySide2“来升级。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57364339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档