
下記のサンプルのようにcheckにチェックを付け、command(show_selected)を呼び出した際に、時間のかかる処理を実行中であることを label などに表示したいのですが、'実行中'が表示されず、完了後に'実行終了'が表示されます。
'実行中'を表示するようにしたいのですが、ヒントをいただけないでしょうか。
------------------------
import tkinter
def show_selected():
label["text"] = '実行中'
print('チェックボタンを実行します') # 時間のかかる処理を想定しています。
label["text"] = '実行終了'
root = tkinter.Tk()
var = tkinter.IntVar(root)
check = tkinter.Checkbutton(
root,
variable=var,
command=show_selected,
)
check.pack()
label = tkinter.Label(root)
label.pack()
root.mainloop()
-----------------------
No.3
- 回答日時:
ひとつのやり方としては、ラベル更新してから
root.afterでタイマーイベントを登録して
イベントで残りの処理を実行する。
シングルスレッドでできるので比較的簡単。
No.2
- 回答日時:
「labelの表示」は、どこで行われていますか。
print('チェックボタンを実行します') の処理は重くありません。
マルチスレッドでなくてよいならば、
①'実行中'を表示する。
②本体の処理を行う。
③'実行終了'を表示する。
とすればよいと思います。
①から③までの間は、フリーズみたいになります(実際は動いていても画面が動かない)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- その他(プログラミング・Web制作) PythonのTkinterイベントについて 2 2022/12/10 23:00
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
Windows System32 Security Hea...
-
「読み取りと実行」と「読み取...
-
[teraterm] waitコマンドで停止...
-
これってパソコンの最適化が完...
-
VBscriptが起動しない?
-
複数のbatファイルを自動実行し...
-
バッチファイルの内容を表示さ...
-
Access の VBA 実行中に他の操...
-
PDFファイルを開き、印刷し、閉...
-
pythonスクリプトを管理者権限...
-
ネットワーク名が見つかりません
-
exeファイルを実行するとコマン...
-
VB.NETでのDOSコマンドを実行に...
-
.NETからストアドプロシージャ...
-
エクセル フォルダの画像を画...
-
exeの同時実行について
-
リリース実行やExe実行で動作が...
-
ホームページのリンクからプロ...
-
VBSでバッチを実行できません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
バッチファイルの内容を表示さ...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
これってパソコンの最適化が完...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
Windows System32 Security Hea...
-
ネットワーク名が見つかりません
-
エクセル フォルダの画像を画...
-
Excel(エクセル) VBA プロシー...
-
PDFファイルを開き、印刷し、閉...
-
Access の VBA 実行中に他の操...
-
バッチファイルが不正終了して...
-
VScodeのエラー解決法 Pythonの...
-
VBScriptでコマンドプロンプト...
-
pythonスクリプトを管理者権限...
-
VB.NETでのDOSコマンドを実行に...
-
batからexeを実行し戻り値を受...
おすすめ情報
show_selected が呼び出されたときに
label["text"] = '実行中'
は実行されても、labelの表示は変わらず、
label["text"] = '実行終了'
が実行された場合にlabelの表示が「実行終了」になるのはなぜなんでしょうか。
ステップインで確認しても、label["text"] = '実行中' ではlabelの表示が変わりません。
print('チェックボタンを実行します') の処理が重いかどうかは関係ない気がします。