저는 파이썬에서 tkinter를 사용하여 Excel 파일을 CSV로 변환하는 프로그램의 사용자 인터페이스를 만듭니다.Python tkinter 레이블이 함수 시작 부분에서 변경되지 않습니다.
상태 표시 줄 역할을하는 레이블을 만들고 statusBarText를 textvariable로 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 문에 복사하여 붙여 넣었으므로 제대로 작동하지만 어떤 이유로 하위 프로세스가 실행되기 전에 변경되지 않습니다. 함수의 맨. 어떤 도움이라도 대단히 감사하겠습니다.
하위 프로세스에서 shell = True를 사용하지 마십시오. – nosklo