2019年10月8日 / 3,577次阅读 / Last Modified 2019年10月9日
tkinter
从此函数的名称上,真是看不出overrideredirect是干什么用的,python官方的help信息是这样说的:
Help on method wm_overrideredirect in module tkinter:
wm_overrideredirect(boolean=None) method of tkinter.Tk instance
Instruct the window manager to ignore this widget
if BOOLEAN is given with 1. Return the current value if None
is given.
翻译过来就是,如果参数为1,就让window manager去略这个窗体控件;如果参数为None,就返回此窗体控件当前的这个overrideredirect状态。
经过测试发现,此函数只在Window系统平台下有效,在Ubuntu桌面下无效(函数可以正常运行,但是没有实际效果)。
在Windows平台下,这个函数的作用,视觉上窗体整个边框消失(没有最小化最大化关闭这几个按钮,也无法拖动这个窗体),程序的窗体在Windows系统任务栏上也消失(看不到有这么一个程序在运行),但是Alt+F4关闭窗体的功能还存在。
我们来做个测试:
>>> import tkinter as tk
>>> root = tk.Tk()
>>> tk.Label(root, text='test', font=('',64)).pack()
创建root,放一个Label,Label上的字体大小为64,看着方便,这时窗体的样子是这样的:
现在我们加上overrideredirect的效果:
>>> root.overrideredirect(1)
>>> root.overrideredirect(0)
>>> a = root.overrideredirect(None)
>>> a
>>> a = root.overrideredirect(1)
>>> a
>>> a = root.overrideredirect(None)
>>> a
True
连续调用了多次overrideredirect函数,当参数为1时,窗体的就变成了这样的:
整个周围一圈都消失了,只剩下里面的test这个Label。这就是overrideredirect函数的作用,并且只有在Windows系统下才有效果。
-- EOF --
本文链接:https://www.pynote.net/archives/1276
©Copyright 麦新杰 Since 2019 Python笔记