質問編集履歴
3
補足
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
スクロールバーをクリックすると、△▽が現れます。
|
7
7
|
|
8
8
|
使用感に変わりはなく、ただGUIのデザイン的に気に入らないだけなのですが、もやもやしております。
|
9
|
-
app.mainloop()した時点で、△▽を表示させる方法はありますか?
|
9
|
+
`app.mainloop()`した時点で、△▽を表示させる方法はありますか?
|
10
10
|
|
11
11
|
|
12
12
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-29/76bf931c-fc15-4fb1-b8ba-203de4375cb7.png)
|
@@ -49,7 +49,7 @@
|
|
49
49
|
下図のように指定しても**背景色、スクロールバー横幅は変わらず**、
|
50
50
|
また**ウィジェット上にマウスカーソルがあるときのみ△▽が表示**されます。
|
51
51
|
|
52
|
-
また、layout内にfocusに関する項目は見当たりません。
|
52
|
+
また、layout内に`focus`に関する項目は見当たりません。
|
53
53
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-04/e25b89de-1943-467f-8546-a6554fdcaa62.png)
|
54
54
|
```Python
|
55
55
|
ybar = ttk.Scrollbar(app, orient=tk.VERTICAL, command=can.yview)
|
@@ -68,7 +68,7 @@
|
|
68
68
|
```
|
69
69
|
|
70
70
|
(B)テーマを指定
|
71
|
-
テーマをdefaultに変更しました。外観が変わって△▽が表示されました。
|
71
|
+
テーマを`default`に変更しました。外観が変わって△▽が表示されました。
|
72
72
|
が、その他の指定項目に変化はありません。
|
73
73
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-04/ae24dd25-1e0e-4683-986e-66b88d4c12d1.png)
|
74
74
|
```Python
|
@@ -76,9 +76,22 @@
|
|
76
76
|
```
|
77
77
|
|
78
78
|
ttk.Scrollbarの問題としては、以下が個人的なネックです。
|
79
|
-
◆
|
79
|
+
◆~~タッチパッドでのスクロールに対応していない~~
|
80
|
+
→下記コードで、Entryにマウススクロールをbindすることで実装(なぜかEntryウィジェットの上以外でもマウススクロール関数が呼び出される)
|
81
|
+
|
80
|
-
◆色や横幅などを指定しても変更できない。
|
82
|
+
◆**色や横幅などを指定しても変更できない**。
|
83
|
+
→デフォルトのstyleのthemeは`vista`で、`winnative`に変えることで好みの外観に変更(色や横幅などの情報は相変わらず変更できない)
|
84
|
+
|
81
|
-
(◆style.layoutに、focusに関する項目がない。常に△▽を表示するには、用意されたテーマを使用する必要がある)
|
85
|
+
(◆`style.layout`に、`focus`に関する項目がない。常に△▽を表示するには、用意されたテーマを使用する必要がある)
|
86
|
+
|
87
|
+
```Python
|
88
|
+
# マウススクロール関数
|
89
|
+
def MouseScroll(event):
|
90
|
+
can.yview("scroll", int(-1*(event.delta/120)), "units")
|
91
|
+
|
92
|
+
# ループ中にマウススクロール関数を各ウィジェットにbind
|
93
|
+
tex[i].bind_all("<MouseWheel>", MouseScroll)
|
94
|
+
```
|
82
95
|
|
83
96
|
### 補足情報(FW/ツールのバージョンなど)
|
84
97
|
Windows11
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -44,7 +44,41 @@
|
|
44
44
|
|
45
45
|
app.mainloop()
|
46
46
|
```
|
47
|
+
### 試したこと(ttk.Scrollbar)
|
48
|
+
(A)スクロールバーをtk→ttkに変更しました。
|
49
|
+
下図のように指定しても**背景色、スクロールバー横幅は変わらず**、
|
50
|
+
また**ウィジェット上にマウスカーソルがあるときのみ△▽が表示**されます。
|
47
51
|
|
52
|
+
また、layout内にfocusに関する項目は見当たりません。
|
53
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-04/e25b89de-1943-467f-8546-a6554fdcaa62.png)
|
54
|
+
```Python
|
55
|
+
ybar = ttk.Scrollbar(app, orient=tk.VERTICAL, command=can.yview)
|
56
|
+
style = ttk.Style()
|
57
|
+
style.configure("c.Vertical.TScrollbar", background="steelblue", arrowsize=50)
|
58
|
+
ybar.configure(style="c.Vertical.TScrollbar")
|
59
|
+
|
60
|
+
pprint(style.layout("c.Vertical.TScrollbar"))
|
61
|
+
>[('Vertical.Scrollbar.trough',
|
62
|
+
{'children': [('Vertical.Scrollbar.uparrow', {'side': 'top', 'sticky': ''}),
|
63
|
+
('Vertical.Scrollbar.downarrow',
|
64
|
+
{'side': 'bottom', 'sticky': ''}),
|
65
|
+
('Vertical.Scrollbar.thumb',
|
66
|
+
{'expand': '1', 'sticky': 'nswe'})],
|
67
|
+
'sticky': 'ns'})]
|
68
|
+
```
|
69
|
+
|
70
|
+
(B)テーマを指定
|
71
|
+
テーマをdefaultに変更しました。外観が変わって△▽が表示されました。
|
72
|
+
が、その他の指定項目に変化はありません。
|
73
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-04/ae24dd25-1e0e-4683-986e-66b88d4c12d1.png)
|
74
|
+
```Python
|
75
|
+
style.theme_use("default")
|
76
|
+
```
|
77
|
+
|
78
|
+
ttk.Scrollbarの問題としては、以下が個人的なネックです。
|
79
|
+
◆**タッチパッドでのスクロールに対応していない**
|
80
|
+
◆色や横幅などを指定しても変更できない。
|
81
|
+
(◆style.layoutに、focusに関する項目がない。常に△▽を表示するには、用意されたテーマを使用する必要がある)
|
48
82
|
|
49
83
|
### 補足情報(FW/ツールのバージョンなど)
|
50
84
|
Windows11
|
1
バージョン情報の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -47,6 +47,6 @@
|
|
47
47
|
|
48
48
|
|
49
49
|
### 補足情報(FW/ツールのバージョンなど)
|
50
|
-
Windows1
|
50
|
+
Windows11
|
51
51
|
Python 3.9.7
|
52
52
|
tk 8.6.11
|