teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

修正

2021/07/08 05:58

投稿

person
person

スコア224

title CHANGED
File without changes
body CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  リストにentryとstringvarを[[entry1, sv1], [entry2, sv2]]のように入れて、
23
23
  ループでfocus_get()と一致するエントリを割り出してから該当のsvを指定するやり方ならできるのですが、
24
- Entryウィジェットからsv1やsv2を得ることは可能ですか?
24
+ Entryのインスンタンスentry1、entry2からsv1やsv2を得ることは可能ですか?
25
25
 
26
26
  ```Python
27
27
  import tkinter as tk

2

追加

2021/07/08 05:58

投稿

person
person

スコア224

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,20 @@
5
5
 
6
6
  ただ、フォーカスがあたっているエントリに設定されているStringVar()の取得ができず、上記の処理ができません。
7
7
 
8
+ ```
9
+ focused_widget["textvariable"].set("")
10
+
11
+ # Attribute Error: 'str' object has no attribute 'set'
12
+ ```
13
+
14
+ ```
15
+ focused_widget["textvariable"].widget.set("")
16
+
17
+ # Attribute Error: 'str' object has no attribute 'widget'
18
+ ```
19
+
20
+ などを試しましたができませんでした。
21
+
8
22
  リストにentryとstringvarを[[entry1, sv1], [entry2, sv2]]のように入れて、
9
23
  ループでfocus_get()と一致するエントリを割り出してから該当のsvを指定するやり方ならできるのですが、
10
24
  Entryウィジェットからsv1やsv2を得ることは可能ですか?

1

修正

2021/07/08 05:55

投稿

person
person

スコア224

title CHANGED
File without changes
body CHANGED
@@ -24,9 +24,9 @@
24
24
  sv1 = tk.StringVar()
25
25
  sv2 = tk.StringVar()
26
26
 
27
- entry1 = tk.Entry(win)
27
+ entry1 = tk.Entry(win, textvariable=sv1)
28
28
  entry1.grid()
29
- entry2 = tk.Entry(win)
29
+ entry2 = tk.Entry(win, textvariable=sv2)
30
30
  entry2.grid()
31
31
 
32
32
  button = tk.Button(win, text="clear", command=func)