Я использую tkinter с Python для создания пользовательского интерфейса для программы, которая преобразует файлы Excel в CSV.Ярлык Python tkinter не изменится при начале функции
Я создал ярлык, который будет выступать в качестве строки состояния, и установите 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, и она отлично работает, но по какой-то причине она просто не изменяется до того, как подпроцесс запускается, когда ее на верхняя часть функции. Любая помощь будет принята с благодарностью.
Не используйте оболочку = True для подпроцесса. – nosklo