Я бы сказал, что неплохо разбираюсь в Python, но создание графических интерфейсов для меня — новая концепция. Я использовал Qt Creator для форматирования графического интерфейса и pyuic для преобразования кода из файла .ui.
У меня закодирована большая часть графического интерфейса, но у меня возникла проблема с обновлением текста для меток для редактирования строк, кнопок и т. д. Таким образом, этот графический интерфейс имеет окно параметров, которое открывается из основной программы, где пользователь может указать определенные параметры. В настоящее время я открываю параметры, устанавливаю значения, закрываю, снова открываю окно параметров, и текст не изменился на новые значения, которые являются переменными. Однако простые струны работают. Переменные «прилипают» только при перезапуске программы.
Я импортирую файл config.py, в котором есть переменная, содержащая строку параметров. Они форматируются и устанавливаются вместе со всеми другими метками и т. д. Но по какой-то причине они не устанавливаются.
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))
Сокращен приведенный выше код.*