创建左侧面板 self.panel_left = tk.Frame(master, width=150, bg='lightcyan') self.panel_left.pack(side=tk.LEFT, fill=tk.Y) # 创建Frame来包含标签和下拉框 input_frame = tk.Frame(self.panel_left) input_frame.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5) # 创建标签 ri = datetime.datetime.now().strftime('%Y/%m/%d') self.date_label = tk.Label(input_frame, text="點檢日期:") self.date_label.pack(side=tk.LEFT, padx=5, pady=5) # 创建下拉框 self.date_entry = tk.ttk.Combobox(input_frame, values=[ri]) self.date_entry.pack(side=tk.TOP, padx=5, pady=5) self.date_entry.current(0) # 创建标签 self.line_label1 = tk.Label(input_frame, text="线别:") self.line_label1.pack(side=tk.LEFT, padx=5, pady=5) # 创建下拉框 self.line_entry1 = tk.ttk.Combobox(input_frame,values=["PA綫", "PB綫", "PC綫", "PD綫", "NF綫", "NE綫", "ND綫", "NC綫", "NB綫","NA綫"]) self.line_entry1.pack(side=tk.TOP, padx=5, pady=5) self.line_entry1.current(0)將標簽和下拉輸入框按現在方法對齊
时间: 2023-11-14 09:05:32 浏览: 75
按照现在的方法,可以使用 `grid` 方法来将标签和下拉输入框对齐,具体地:
1. 在创建 Frame 时,将 `padx` 参数改为 `0`,以避免多余的间隔。
2. 在创建标签和下拉输入框时,将它们的 `row` 和 `column` 参数都设置为相同的值,表示它们在同一行,并且在同一列。
3. 在创建标签和下拉输入框时,将它们的 `sticky` 参数都设置为 `tk.W`,表示它们在该行中左对齐。
修改后的代码如下:
```python
# 创建左侧面板
self.panel_left = tk.Frame(master, width=150, bg='lightcyan')
self.panel_left.pack(side=tk.LEFT, fill=tk.Y)
# 创建 Frame 来包含标签和下拉框
input_frame = tk.Frame(self.panel_left, padx=0, pady=5)
input_frame.pack(side=tk.TOP, fill=tk.X)
# 创建标签
ri = datetime.datetime.now().strftime('%Y/%m/%d')
self.date_label = tk.Label(input_frame, text="點檢日期:")
self.date_label.grid(row=0, column=0, padx=5, pady=5, sticky=tk.W)
# 创建下拉框
self.date_entry = tk.ttk.Combobox(input_frame, values=[ri])
self.date_entry.grid(row=0, column=1, padx=5, pady=5, sticky=tk.W)
self.date_entry.current(0)
# 创建标签
self.line_label1 = tk.Label(input_frame, text="线别:")
self.line_label1.grid(row=1, column=0, padx=5, pady=5, sticky=tk.W)
# 创建下拉框
self.line_entry1 = tk.ttk.Combobox(input_frame, values=["PA綫", "PB綫", "PC綫", "PD綫", "NF綫", "NE綫", "ND綫", "NC綫", "NB綫", "NA綫"])
self.line_entry1.grid(row=1, column=1, padx=5, pady=5, sticky=tk.W)
self.line_entry1.current(0)
```
这样就能将标签和下拉输入框按照当前的方法对齐,使得它们在同一行中,并且左对齐。
阅读全文