如何在 Tkinter 中创建不带标题栏的可调整大小的窗口?
tkinterpythongui-programming更新于 2025/7/18 15:40:17
要创建不带标题栏的 tkinter 窗口,我们可以使用 overrideredirect(boolean) 属性,该属性可从 tkinter 窗口顶部禁用导航面板。但是,它不允许用户立即调整窗口大小。
如果我们需要以编程方式创建不带标题栏的可调整大小的窗口,那么我们可以在 Tkinter 中使用 Sizegrip(parent) 小部件。Sizegrip 小部件为应用程序增加了可扩展性,允许用户拉动和调整主窗口的大小。要使用 Sizegrip 小部件,我们必须绑定鼠标按钮和一个函数,该函数在拉动手柄时会调整窗口大小。
示例
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建 tkinter 框架或窗口的实例
win=Tk()
# 设置窗口的大小
win.geometry("700x350")
# 删除窗口的标题栏
win.overrideredirect(True)
# 定义一个用于调整窗口大小的函数
def moveMouseButton(e):
x1=winfo_pointerx()
y1=winfo_pointery()
x0=winfo_rootx()
y0=winfo_rooty()
win.geometry("%s x %s" % ((x1-x0),(y1-y0)))
# 添加标签小部件
label=Label(win,text="抓住右下角以调整窗口大小")
label.pack(side="top", fill="both", expand=True)
# 添加用于调整窗口大小的抓取器
grip=ttk.Sizegrip()
grip.place(relx=1.0, depend=1.0, anchor="se")
grip.lift(label)
grip.bind("<B1-Motion>", moveMouseButton)
win.mainloop()
如果我们运行上述代码,它将显示一个没有任何标题栏的窗口。我们可以通过从右下角拉动手柄来调整此窗口的大小。
输出
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

