回答編集履歴
2
tkinter のコード掲載
test
CHANGED
@@ -11,19 +11,30 @@
|
|
11
11
|
```python
|
12
12
|
import tkinter as tk
|
13
13
|
|
14
|
+
# 変更点:
|
15
|
+
# - Entry を 画面外に配置 (機能は残しつつも非表示)
|
16
|
+
# - テキストクリック時に Entry にフォーカスを移す
|
17
|
+
# - (テキストのフォントサイズ調整)
|
18
|
+
|
19
|
+
# 課題
|
20
|
+
# - Tab で 入力欄を遷移したときに、隠し Entry が含まれる
|
21
|
+
# - 矢印キー操作時、編集中のカーソルが見えない
|
22
|
+
|
14
23
|
def main():
|
15
24
|
root = tk.Tk()
|
16
25
|
heightVar = tk.IntVar(root, value=900)
|
17
26
|
canvas = tk.Canvas(root, width=600, height=600)
|
18
|
-
entry = tk.Entry(
|
27
|
+
entry = tk.Entry(root, width=10, textvar=heightVar)
|
28
|
+
entry.place(x=-10000, y=-10000)
|
19
29
|
|
20
30
|
canvas.pack(fill=tk.BOTH, expand=True)
|
21
|
-
canvas.create_window((10, 10), anchor="nw", window=entry)
|
22
|
-
item = canvas.create_text((100, 200), text="900", angle=90)
|
31
|
+
item = canvas.create_text((100, 200), text="900", angle=90, font=("",30))
|
23
32
|
|
24
33
|
def _update_text(*args):
|
25
34
|
value = heightVar.get()
|
26
35
|
canvas.itemconfigure(item, text=f"H. {value}")
|
36
|
+
|
37
|
+
canvas.tag_bind(item, "<Button-1>", lambda _: entry.focus())
|
27
38
|
|
28
39
|
heightVar.trace("w", _update_text)
|
29
40
|
|
1
動作デモのスクショを掲載(Qt, Kivy, Tk)
test
CHANGED
@@ -58,3 +58,8 @@
|
|
58
58
|
</body>
|
59
59
|
</html>
|
60
60
|
```
|
61
|
+
|
62
|
+
|
63
|
+
----
|
64
|
+
## 動作DEMO (Qt/Kivy/Tkinter)
|
65
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-12-11/b0a3e6ed-774e-4452-aee5-0e237e059fa5.gif)
|