name_var = tk.StringVar() name_entry = ttk.Entry(new_window, textvariable=name_var) name_entry.grid(column=1, row=0)
时间: 2023-06-27 17:08:09 浏览: 53
这是使用Tkinter库在GUI应用程序中创建一个文本输入框的代码。首先,我们创建了一个StringVar对象来存储文本输入框中的值。然后,我们创建了一个ttk.Entry对象,并将其textvariable属性设置为先前创建的StringVar对象。最后,我们使用grid()方法将文本输入框放置在GUI的第一列和第一行。
相关问题
# 创建左侧面板 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)將標簽和下拉輸入框對齊
要将标签和下拉输入框对齐,可以对它们的布局进行微调,具体地:
1. 将标签和下拉输入框的 `side` 参数都改为 `tk.LEFT`,表示它们在水平方向上排列在一列。
2. 将标签和下拉输入框的 `padx` 和 `pady` 参数都改为 `2`,以适当地减小组件之间的间距。
修改后的代码如下:
```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)
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=2, pady=2)
# 创建下拉框
self.date_entry = tk.ttk.Combobox(input_frame, values=[ri])
self.date_entry.pack(side=tk.LEFT, padx=2, pady=2)
self.date_entry.current(0)
# 创建标签
self.line_label1 = tk.Label(input_frame, text="线别:")
self.line_label1.pack(side=tk.LEFT, padx=2, pady=2)
# 创建下拉框
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.LEFT, padx=2, pady=2)
self.line_entry1.current(0)
```
这样就能将标签和下拉输入框对齐,并且适当地调整了组件之间的间距。
# 创建左侧面板 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=2, pady=2) # 创建下拉框 self.date_entry = tk.ttk.Combobox(input_frame, values=[ri]) self.date_entry.pack(side=tk.LEFT, padx=2, pady=2) self.date_entry.current(0) # 创建标签 self.line_label1 = tk.Label(input_frame, text="线别:") self.line_label1.pack(side=tk.LEFT, padx=2, pady=2) # 创建下拉框 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.LEFT, padx=2, pady=2) self.line_entry1.current(0)修改為竪著放
要将上述代码修改为竖着放,需要对其中的几个参数进行调整,具体地:
1. 在创建左侧面板时,将 `width` 参数改为 `200`,以适应竖着放的布局。
2. 在创建 Frame 时,将 `side` 参数改为 `tk.LEFT`,表示竖着放的组件仍然在左侧。
3. 在创建标签和下拉框时,将 `side` 参数都改为 `tk.TOP`,表示它们都是竖着放的,并且排列在上下方向。
4. 在创建标签和下拉框时,将 `pack` 方法中的 `padx` 和 `pady` 参数改为 `5`,以适当地增加组件之间的间距。
修改后的代码如下所示:
```python
# 创建左侧面板
self.panel_left = tk.Frame(master, width=200, 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.LEFT, 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.TOP, 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.TOP, 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)
```
这样就能将原来横着放的组件改为竖着放,并且适当地调整了组件之间的间距。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)