🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Q&A

解決済

1回答

4150閲覧

tkinterで、取得した値をテキストボックスにリアルタイムで更新させる

goki_gottan

総合スコア168

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

0グッド

0クリップ

投稿2020/12/02 06:52

tkinterのエディットボックス内に、リアルタイムで取得した値を表示させたいです。

エディットボックスに、取得した値を一度表示させることはできました
insert(0,変数)
これでできましたが、for文で、1秒毎に変数が変わりますので、そのたび、エディットボックスの値を変えたく思いますが、いつも最後取得した値のみ表示されるようです。
printではちゃんと変数が変わっていることは確認済です

宜しくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teamikl

2020/12/02 23:35 編集

問題が発生するコードを提示してください。 Tkinter に エディットボックスという クラスはありません。 Entry か Text の事だと思いますが、どちらかによって方法が変わってきます。
guest

回答1

0

ベストアンサー

for文で、1秒毎に変数が変わりますので、そのたび、エディットボックスの値を変えたく思いますが、いつも最後取得した値のみ表示されるようです。

心当たりのある点は、「描画が反映されるタイミングは
関数の実行が終わり処理がイベントループに戻った後」なので
常に最後の値が表示されるということが考えられます。

途中で反映させるには、update_idletasks() を変更後に呼んでみてください。
補足追記: 但し、イベントループは正常に機能しない為、タイマーを使う方法が推奨です。


問題のある点:

for 文で1秒毎というのは time.sleep を使っているのでしょうか?
イベントループ内で time.sleep を使うと、GUIが一時的に応答なしになるので
通常は after() メソッドを使いタイマーで関数を毎秒呼び出す方法で実装します。

for 文を使い一定時間毎に処理を行うコードを組むには、
スレッドを用いるか、Pythonのジェネレーターとして実装して
タイマーでジェネレーターを駆逐実行する方法を検討してください。
(関連URL参照


関連: Tkinter内でのループ処理

投稿2020/12/02 23:44

編集2020/12/03 03:31
teamikl

総合スコア8740

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goki_gottan

2020/12/03 05:35

おっしゃる通り、time.sleep使っておりました。afterで試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問