我会说我在 Python 方面相当不错,但创建 GUI 对我来说是一个新概念。我使用 Qt Creator 格式化 GUI 并使用 pyuic 转换 file.ui 中的代码。
我对大部分 GUI 进行了编码,但是在更新行编辑、按钮等标签的文本时遇到了这个问题。所以这个 GUI 有一个选项窗口,可以从主程序打开,用户可以在其中指定某些参数。目前,我打开选项,设置值,关闭,重新打开选项窗口,并且文本没有更改为变量的新值。然而,纯字符串确实有效。只有在程序重新启动时,变量才会“粘住”。
我正在导入一个 config.py 文件,其中有一个包含参数字符串的变量。这些已格式化并与所有其他标签等一起设置。但由于某种原因没有设置。
配置文件
configAttrs="clientid,oauth,123,source,123"
mainProgram.py 的嵌套函数,用于设置标签等的文本。
def retranslateUi(self, OptionsWindow):
OptionsWindow.setWindowTitle(_translate("OptionsWindow", "OptionsWindow", None))
self.label_MainOptions.setText(_translate("OptionsWindow", "Options", None))
confs = config.configAttrs.split(',')
clientid = str(confs[0])
oauth = str(confs[1])
cache = str(confs[2])
heightAdjust = str(confs[4])
#does NOT work when reopening options window
#does work with restart
self.lineEdit_ClientID.setText(_translate("OptionsWindow", clientid, None))
#does NOT work when reopening options window
#does work with restart
self.lineEdit_ClientID.setText('{0}'.format(clientid))
#does work when reopening options window
#does work with restart
self.lineEdit_ClientID.setText(_translate("OptionsWindow", 'string_clientid', None))
缩短了上面的代码。*