「アクションが実行されるまでお待ちください」ウィンドウを持つプログラムに取り組んでいます。バッチ ファイルの実行中は、このウィンドウを開いたままにしておく必要があります。バッチ プロセスが完了すると、ウィンドウが閉じます。ウィンドウが開いた後、Python メソッド .after() を使用してバッチ プロセスを呼び出しています。.after() で設定された時間が経過すると、ウィンドウが閉じて再び開き、白くなり、テキストが表示されないという問題が発生します。関連するコードは次のとおりです。
def backupCallBack(self, event):
self.backupCB = Toplevel()
self.backupCB.grab_set()
self.backupCB.transient(self.exportGUI)
message = "Please wait while the\ndatabase is backed up..."
Label(self.backupCB, text=message, padx=100, pady=20).pack()
event.after(200,self.runBackup)
def runBackup(self):
name = Entry.get(self.backupEntry)
self.backupWindow.destroy()
self.exportGUI.destroy()
os.system('.\\src\\backup.bat %s' % name)
self.backupCB.destroy()
「しばらくお待ちください」ウィンドウが開き、バッチ プロセスの実行中は開いたままにする必要があります。.after() を間違って使用していますか? このタスクを達成するためのより適切な方法は何ですか? ご協力いただきありがとうございます!