3

Python で tkinter を使用して、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ステートメントに貼り付けましたが、正常に動作しますが、何らかの理由で、サブプロセスが関数の先頭にあるときにサブプロセスが実行される前に変更されることはありません。どんな助けでも大歓迎です。

4

2 に答える 2