質問編集履歴

2

#追記

2021/02/24 14:00

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,8 @@
50
50
 
51
51
 
52
52
 
53
+
54
+
53
55
  # tkinter
54
56
 
55
57
  from tkinter import *
@@ -84,12 +86,6 @@
84
86
 
85
87
 
86
88
 
87
-
88
-
89
-
90
-
91
-
92
-
93
89
  """
94
90
 
95
91
  スクロールバー Canvas
@@ -100,13 +96,15 @@
100
96
 
101
97
  # フォルダー表示 フレーム
102
98
 
103
- Frm5 = Frame(master,bg="white")
99
+ Frm5 = Frame(master,bg="blue")
100
+
104
-
101
+ Frm5.bind("<Configure>", self.on_resize)
105
-
106
-
107
-
108
-
102
+
103
+
104
+
105
+
106
+
109
- canvas7 = Canvas(Frm5 ,bg="white" , height=170)
107
+ self.canvas7 = Canvas(Frm5 ,bg="white" , height=170)
110
108
 
111
109
 
112
110
 
@@ -116,7 +114,7 @@
116
114
 
117
115
  bar.grid(row=0, column=1, sticky="ns")
118
116
 
119
- bar.config(command=canvas7.yview)
117
+ bar.config(command=self.canvas7.yview)
120
118
 
121
119
  bar.propagate(False)
122
120
 
@@ -126,19 +124,19 @@
126
124
 
127
125
  Frm5.grid_columnconfigure(0, weight=1)
128
126
 
129
- Frm5.pack(padx=10 ,pady=15 , fill="both")
127
+ Frm5.pack(padx=10 ,pady=5 , fill="both")
130
128
 
131
129
 
132
130
 
133
131
  # Canvas Widget を配置
134
132
 
135
- cframe2=Frame(canvas7 ,bg="white")
133
+ cframe2=Frame(self.canvas7 ,bg="red")
136
-
134
+
137
- canvas7.create_window((10, 10), window=cframe2, anchor="ne")
135
+ self.minicanca = self.canvas7.create_window((10, 10), window=cframe2, anchor="nw")
138
-
136
+
139
- canvas7.config(yscrollcommand=bar.set)
137
+ self.canvas7.config(yscrollcommand=bar.set)
140
-
138
+
141
- canvas7.grid(row=0, column=0, padx=10 ,pady=5,sticky="we")
139
+ self.canvas7.grid(row=0, column=0, padx=10 ,pady=5,sticky="we")
142
140
 
143
141
 
144
142
 
@@ -152,8 +150,6 @@
152
150
 
153
151
 
154
152
 
155
-
156
-
157
153
  """
158
154
 
159
155
  アカウント名 , アイコンパス , メールアドレス , アイコン画像 ヘッダー
@@ -162,7 +158,7 @@
162
158
 
163
159
  # アカウント名 ラベル
164
160
 
165
- L_no = tk.Label(cframe2)
161
+ L_no = tk.Label(cframe2,font=("12"))
166
162
 
167
163
  L_no.configure(text="No", bg="white")
168
164
 
@@ -172,7 +168,7 @@
172
168
 
173
169
  # アカウント名 ラベル
174
170
 
175
- L_account = tk.Label(cframe2)
171
+ L_account = tk.Label(cframe2,font=("12"))
176
172
 
177
173
  L_account.configure(text="アカウント名", bg="white" )
178
174
 
@@ -182,7 +178,7 @@
182
178
 
183
179
  # アイコンのファイル名 ラベル
184
180
 
185
- L_account = tk.Label(cframe2)
181
+ L_account = tk.Label(cframe2,font=("12"))
186
182
 
187
183
  L_account.configure(text="アイコンのファイル名", bg="white" )
188
184
 
@@ -192,7 +188,7 @@
192
188
 
193
189
  # メールアドレス ラベル
194
190
 
195
- L_mail = tk.Label(cframe2)
191
+ L_mail = tk.Label(cframe2,font=("12"))
196
192
 
197
193
  L_mail.configure(text="メールアドレス", bg="white" )
198
194
 
@@ -202,6 +198,8 @@
202
198
 
203
199
 
204
200
 
201
+
202
+
205
203
  """
206
204
 
207
205
  アカウント名 , アイコンパス , メールアドレス , アイコン画像
@@ -236,7 +234,7 @@
236
234
 
237
235
  Text_aka = StringVar()
238
236
 
239
- self.aka_box = Entry(cframe2,textvariable=Text_aka ,width = 25)
237
+ self.aka_box = Entry(cframe2,textvariable=Text_aka ,width = 25 ,font=("12") )
240
238
 
241
239
  self.aka_box.grid(row=i +1, column=1, sticky="nw")
242
240
 
@@ -260,7 +258,7 @@
260
258
 
261
259
  Text_icon = StringVar()
262
260
 
263
- self.icon_box = Entry(ifrma,textvariable=Text_icon ,width = 15)
261
+ self.icon_box = Entry(ifrma,textvariable=Text_icon ,width = 15,font=("12"))
264
262
 
265
263
  self.icon_box.grid(row=0, column=0, sticky="nw")
266
264
 
@@ -282,7 +280,7 @@
282
280
 
283
281
  Text_mail1 = StringVar()
284
282
 
285
- self.mail1_box = Entry(cframe2 , textvariable=Text_mail1 ,width = 25 )
283
+ self.mail1_box = Entry(cframe2 , textvariable=Text_mail1 ,width = 25 ,font=("12"))
286
284
 
287
285
  self.mail1_box.grid(row=i +1, column=3, sticky="n")
288
286
 
@@ -296,13 +294,23 @@
296
294
 
297
295
  # canvas scroll
298
296
 
299
- canvas7.update_idletasks()
297
+ self.canvas7.update_idletasks()
300
-
298
+
301
- canvas7.config(scrollregion=canvas7.bbox("all"))
299
+ self.canvas7.config(scrollregion=self.canvas7.bbox("all"))
300
+
301
+
302
+
303
+
304
+
305
+
306
+
302
-
307
+ # キャンバスのリサイズ
308
+
303
-
309
+ def on_resize(self,event):
310
+
304
-
311
+ self.canvas7.itemconfigure(self.minicanca, width=event.width)
312
+
305
-
313
+ self.canvas7.config(scrollregion=self.canvas7.bbox("all"))
306
314
 
307
315
 
308
316
 
@@ -322,4 +330,50 @@
322
330
 
323
331
 
324
332
 
333
+
334
+
335
+
336
+
325
337
  ```
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+ #追記
348
+
349
+ 説明不足で申し訳ありません。
350
+
351
+ フレームに色付けしました。
352
+
353
+ ![イメージ説明](c37de5edf7d0f9508d55ff1a32e0ed8d.png)
354
+
355
+
356
+
357
+ 切れていうというのは、現状の方はもっと右側にも表示しているものがあるのに表示されないということでした。
358
+
359
+
360
+
361
+ 背景が赤は`cframe2`なのですが、これは
362
+
363
+ `self.canvas7.create_window((10, 10), window=cframe2, anchor="nw")`
364
+
365
+ とcreate_windowの時に使用しています。
366
+
367
+ これが認識されていないのではないかと予想しているのですが、解決方法が分かりません。
368
+
369
+
370
+
371
+
372
+
373
+ 色をつけて思ったのですが、
374
+
375
+ キャンバスないの`Entry`をクリックすると`cframe2`の外枠が表示されます。
376
+
377
+ これを消す方法はないのでしょうか?
378
+
379
+ クリックしていない時は表示されていなません。

1

そこで、widthを指定してないで`cframe2`の横幅で作成したいのですが、方法が見つかりません。

2021/02/24 14:00

投稿

Yuiti628
Yuiti628

スコア71

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  windowsとMacで同じソースコードなのに、必要な横幅が違いました。
16
16
 
17
- そこで、widthを指定してない作成したいのですが、方法が見つかりません。
17
+ そこで、widthを指定してないで`cframe2`の横幅で作成したいのですが、方法が見つかりません。
18
18
 
19
19
  ![![イメージ説明](36f34f9da86a5f2e68dd246f98714560.png)](fdfef4f8da6a8f43de7a5054a16c05b5.png)
20
20