tkinter窗口的overrideredirect方法

从此函数的名称上,真是看不出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,看着方便,这时窗体的样子是这样的:

正常的tkinter窗体

正常的tkinter窗体

现在我们加上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时,窗体的就变成了这样的:

overrideredirect的效果

overrideredirect的效果

整个周围一圈都消失了,只剩下里面的test这个Label。这就是overrideredirect函数的作用,并且只有在Windows系统下才有效果。

要使Python Tkinter窗口全屏,可以使用如下代码: ``` import tkinter as tk # 创建一个Tkinter窗口 window = tk.Tk() # 隐藏窗口的标题栏和边框 window.overrideredirect(True) # 获取屏幕的宽度和高度 screen_width = window.winfo_screenwidth() screen_height = window.winfo_screenheight() # 设置窗口的大小为全屏 window.geometry("%dx%d" % (screen_width, screen_height)) # 进入消息循环,使窗口一直保持全屏状态 window.mainloop() ``` 这段代码首先导入了必要的模块,并创建了一个Tkinter窗口。然后,通过`window.overrideredirect(True)`来隐藏窗口的标题栏和边框。接下来,获取屏幕的宽度和高度,并使用`window.geometry()`方法窗口大小设置为全屏。最后,通过`window.mainloop()`进入消息循环,使窗口一直保持全屏状态。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [imagebgd.py](https://download.csdn.net/download/zeroty/21110425)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python tkinter的全屏使用](https://blog.csdn.net/weixin_39912368/article/details/111014735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [利用PythonTKinter实现全屏切换](https://blog.csdn.net/zeroty/article/details/119720766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值