我正在使用 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 语句中,它工作正常,但由于某种原因,它在子进程位于函数顶部时运行之前永远不会改变。任何帮助将不胜感激。