如何使用标题栏#
标题栏指的就是应用程序窗口上方的位置,它可以用来拖动窗口移动,控制窗口进行关闭、最大化、最小化和一些快捷操作,使我们的做出的应用程序更加好用。 如果你想了解标题栏拖动的原理,请看 hWnd概述
而tkinterDev中也为此做了一个组件,叫做DevHeaderBar
,经过两代迭代,已经十分完美了。
它的上一代叫做DevTitleBar
,现已弃用,因为DevTitleBar
太复杂,太麻烦,并且不能使用贴靠窗口。
而DevHeaderBar
完美解决了这个问题,使用win32代码将标题栏绑定移动窗口的消息,使它能像正常窗口一样贴靠窗口。
好吧,现在步入正题,导入所需要的组件。除了DevHeaderBar
,还需要DevWindow
的支持,可以快速地进行放置标题栏。
我们先创建一个.py文件,暂时将它命名为demo.py文件。
from tkdev4 import DevHeaderBar, DevWindow
import tkinter
先创建一个窗口,并且创建标题栏。
Window = DevWindow()
TitleBar = DevHeaderBar(Window)
在DevWindow里面有个titlebar
的方法,可以用于设置标题栏组件。
Window.titlebar(TitleBar)
现在已经将标题栏放入窗口最上方了,但还缺少一步,消息循环窗口,使窗口显示。
Window.mainloop()
最后来运行窗口,查看效果
python -m demo.py
提示
因为标题栏和窗口的颜色一模一样,所有看起来没有标题栏,但是他是真实存在的,你可以拖动一下窗口的上方看看
扩展#
我们这个窗口什么也不也不行,所以要给它添加几个标题栏按钮。
在HeaderBar
有几个叫做add_close_button()
、add_max_button()
我们在代码中加上几行代码就可以添加好标题栏的关闭按钮、最大化按钮、最小化按钮。
TitleBar.add_close_button()
TitleBar.add_title("Hello World")
TitleBar.add_maximize_button()
TitleBar.add_minimize_button()
预览最终效果#
from tkdev4 import DevHeaderBar, DevWindow
import tkinter
Window = DevWindow()
TitleBar = DevHeaderBar(Window)
TitleBar.add_close_button()
TitleBar.add_title()
TitleBar.add_maximize_button()
TitleBar.add_minimize_button()
Window.titlebar(TitleBar)
Window.mainloop()