class ExcelApp: def __init__(self, master): self.master = master master.title("Excel App") master.geometry('{}x{}'.format(master.winfo_screenwidth(), master.winfo_screenheight())) # 获取屏幕分辨率并设置窗口大小 修改這個窗口無論怎麽改變窗口大小裏面的文本標簽會隨著窗口變動
时间: 2024-01-31 19:04:49 浏览: 118
通过resize事件实现随着窗口大小的变化里面的控件大小也随之变化,left,top等等上下左右都会随动
可以通过使用Tkinter中的Grid布局管理器和sticky选项来实现文本标签随窗口大小变化而变化。具体步骤如下:
1. 在ExcelApp类的__init__方法中创建一个标签对象,例如:self.label = Label(master, text="Hello World")
2. 使用Grid布局管理器将标签放置在窗口中,例如:self.label.grid(row=0, column=0, sticky="nsew")
3. 设置窗口的列和行权重以便在窗口大小变化时,标签可以随着窗口大小变化而变化。例如:master.columnconfigure(0, weight=1)和master.rowconfigure(0, weight=1)
4. 使用sticky选项将标签的边框粘贴到窗口的四个边缘,例如:sticky="nsew"
这样就可以实现文本标签随窗口大小变化而变化了。完整的代码示例如下:
```
from tkinter import *
class ExcelApp:
def __init__(self, master):
self.master = master
master.title("Excel App")
master.geometry('{}x{}'.format(master.winfo_screenwidth(), master.winfo_screenheight())) # 获取屏幕分辨率并设置窗口大小
# 创建一个标签对象
self.label = Label(master, text="Hello World")
# 将标签放置在窗口中
self.label.grid(row=0, column=0, sticky="nsew")
# 设置列和行权重
master.columnconfigure(0, weight=1)
master.rowconfigure(0, weight=1)
# 将标签的边框粘贴到窗口的四个边缘
self.label.grid(sticky="nsew")
root = Tk()
app = ExcelApp(root)
root.mainloop()
```
阅读全文