Я использую tkinter с Python для создания пользовательского интерфейса для программы, которая конвертирует файлы Excel в CSV.
Я создал метку для работы в качестве строки состояния и установил statusBarText в качестве StringVar () в качестве текстовой переменной. inputFileEntry и outputFileEntry являются текстовыми переменными, которые содержат пути к файлам ввода и вывода.
def convertButtonClick():
statusBarText.set('Converting...')
if inputFileEntry.get() == '' or outputFileEntry.get() == '':
statusBarText.set('Invalid Parameters.')
return
retcode = subprocess.('Program.exe' ,shell=true)
if retcode == 0:
statusBarText.set('Conversion Successful!')
else:
statusBarText.set('Conversion Failed!')
Эта функция вызывается, когда вы нажимаете кнопку конвертации, и все работает нормально, за исключением того, что строка состояния никогда не изменится на «Преобразование ...».
Текст строки состояния изменится на недопустимые параметры, если вход или выход пуст, и изменится на успех или сбой в зависимости от кода возврата. Проблема в том, что он никогда не меняется на «Преобразование ...»
Я скопировал и вставил эту точную строку в операторы if, и она работает нормально, но по какой-то причине она просто никогда не изменяется до запуска подпроцесса, когда он находится вверху функции. Любая помощь будет принята с благодарностью.