[解決済み] Tkinterのラベルを変数から更新する
2022-02-17 17:17:47
質問
Pythonスクリプトを書きました。このスクリプトは、あるタスクを実行し、文字列変数として格納されているテキストを変更し続けます。これは動作し、文字列が変更されるたびにそれを表示することができます。
ラベルに初めて文字列を表示させることはできますが、更新されることはありません。
以下は私のコードです。
from tkinter import *
outputText = 'Ready'
counter = int(0)
root = Tk()
root.maxsize(400, 400)
var = StringVar()
l = Label(root, textvariable=var, anchor=NW, justify=LEFT, wraplength=398)
l.pack()
var.set(outputText)
while True:
counter = counter + 1
outputText = result
outputText = result
outputText = result
if counter == 5:
break
root.mainloop()
ラベルには
Ready
しかし、後で生成される文字列にそれを変更するために更新されません。
このサイトでググったり、回答を見たりした結果、解決策は
update_idletasks
. 変数が変更されるたびにそれを入れてみたのですが、うまくいきませんでした。
どのように解決するのですか?
mainloopに入るとウィンドウが表示されるだけです。ですから、あなたの
while True
ブロックの前の行
root.mainloop()
.
GUIインターフェースは、mainloopの中でイベントに反応することで動作します。ここでは、StringVarがEntryウィジェットにも接続されている例を示します。Entryウィジェットでテキストを変更すると、自動的にLabelも変更されます。
from tkinter import *
root = Tk()
var = StringVar()
var.set('hello')
l = Label(root, textvariable = var)
l.pack()
t = Entry(root, textvariable = var)
t.pack()
root.mainloop() # the window is now displayed
次のような参考文献がいいですね。 tkinter 8.5リファレンス:Python用GUI
以下は、あなたが行おうとしていたことの動作例です。
from tkinter import *
from time import sleep
root = Tk()
var = StringVar()
var.set('hello')
l = Label(root, textvariable = var)
l.pack()
for i in range(6):
sleep(1) # Need this to slow the changes down
var.set('goodbye' if i%2 else 'hello')
root.update_idletasks()
root.update
によって保留中のイベントがすべて処理されるまで、イベントループに入る。
Tcl
.
関連
-
python implement mysql add delete check change サンプルコード
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] クリック可能なラベルを持つチェックボックスを作成するには?
-
[解決済み】ランチャーにアクティビティタイトルとは別のラベルを設定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】Flaskのテンプレートが見つからない【重複あり