我已经用tkinter建立了四个相关联窗口,怎么让每个窗口中输入框居中显示,并且字体大小自动适应
时间: 2024-04-29 20:21:13 浏览: 54
你可以使用Tkinter中的Grid布局来实现窗口中的输入框居中显示,并且使用字体大小自动适应。
首先,你需要创建一个字体大小自动适应的函数,可以使用以下代码:
```
import tkinter as tk
def auto_size(event):
widget = event.widget
font = widget.cget("font")
width = widget.winfo_width()
size = int(font.split(" ")[-1])
while widget.winfo_reqwidth() > width:
size -= 1
font = font.split(" ")[:-1]
font.append(str(size))
font = " ".join(font)
widget.configure(font=font)
```
然后,在创建输入框时,你可以使用以下代码将其居中显示:
```
entry = tk.Entry(root, font="Helvetica 12")
entry.bind("<Configure>", auto_size)
entry.grid(row=0, column=0, sticky="nsew")
```
其中,`<Configure>`事件会在窗口大小改变时触发字体大小自动适应函数,`sticky="nsew"`参数会让输入框在窗口中居中显示。
你可以在每个窗口中使用以上代码来创建输入框,并将其居中显示和自适应字体大小。
阅读全文