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

回答編集履歴

1

背景色と余白を用いた罫線の実装、コードを追加

2020/06/29 14:59

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -9,6 +9,36 @@
9
9
  これの対策としては、背景色をボーダー色として、padx, pady で片側のみ余白を作る方法があります。
10
10
  (サイズ1の罫線を表示させたい場合)
11
11
 
12
+ 追記
13
+
14
+ ![イメージ説明](b7ba3972d1b2e5e38a1be72b4520b29e.png)
15
+
16
+ ```python
17
+ import tkinter as tk
18
+
19
+ border_color = "black"
20
+ grid_options = dict(padx=(1,0), pady=(1,0), sticky="nwse")
21
+
22
+ root = tk.Tk()
23
+ frame = tk.Frame(root, bg=border_color)
24
+ frame.pack(fill=tk.BOTH, expand=True)
25
+ frame.grid_columnconfigure(1, weight=True)
26
+
27
+ bgcolor = root.cget("bg")
28
+
29
+ for row, num in enumerate([3, 6, 9]):
30
+ field = tk.Frame(frame, bg=bgcolor, relief=tk.SOLID)
31
+ label = tk.Label(field, text="a" * num)
32
+ label.pack(fill=tk.X, side=tk.LEFT)
33
+ field.grid(row=row, column=0, **grid_options)
34
+ entry = tk.Entry(frame)
35
+ entry.grid(row=row, column=1, **grid_options)
36
+ frame.grid_rowconfigure(row, weight=True)
37
+
38
+ root.mainloop()
39
+ ```
40
+
41
+
12
42
  ----
13
43
  他の方法
14
44