PySimpleGUI点击按钮动态修改Window的no_titlebar属性如何实现?
报错原因
你触发的AttributeError: 'Window' object has no attribute 'Update'翻译为:属性错误:'Window' 对象不存在名为 'Update' 的属性。
PySimpleGUI 中Update()是按钮、输入框等单个界面元素的更新方法,不能直接作用于Window窗口对象,所以调用会报错。另外no_titlebar是窗口初始化参数,不能直接通过参数赋值的方式动态修改。
动态切换标题栏实现方案
PySimpleGUI 提供了窗口级方法set_no_titlebar()专门用于动态修改是否显示标题栏,直接调用该方法即可实现需求,可参考下方可运行代码:
from PySimpleGUI import * lt = [[Button("切换为无标题栏"), Button("关闭窗口")]] # 初始化时保留标题栏,额外添加grab_anywhere参数方便无标题栏时拖动窗口 wn = Window("测试窗口", lt, no_titlebar=False, grab_anywhere=True) while True: e, v = wn.read() if e == "切换为无标题栏": # 调用方法修改标题栏状态 wn.set_no_titlebar(True) # 处理关闭逻辑 if e in (WIN_CLOSED, "关闭窗口"): break wn.close()
补充说明
- 如需从无标题栏状态切回显示标题栏,调用
wn.set_no_titlebar(False)即可 - 无标题栏状态下默认不显示系统自带的关闭、最小化、最大化按钮,可根据需求自行在布局中添加对应功能按钮
内容的提问来源于stack exchange,提问作者SimpleGuy_
相关产品推荐
相关产品推荐

