我在我的 Raspberry Pi 上使用带有 Python 3.2.3 的 Tkinter,我正在尝试制作一个检查按钮来切换窗口是否全屏。我遇到了两个问题:
首先,当我使用 时Root.overrideredirect(True)
,一切正常,但是当我使用时Root.overrideredirect(False)
,没有任何反应,并且窗口不会恢复它的边框。
其次,当我使用 时Root.geometry("{0}x{1}+0+0".format(Root.winfo_screenwidth(), Root.winfo_screenheight()))
,按钮(我构建为自动居中)会自动重新对齐到屏幕的中心,但窗口本身不会改变大小。
为什么会这样,我该如何让它发挥作用?
尝试解决方案后,这是目前的情况:
Root = Tk()
Mark0 = False
def Loop(): #Always looping
if Fullscreen.get() and not Mark0:
Root.overrideredirect(True)
Root.geometry("{0}x{1}+0+0".format(Root.winfo_screenwidth(), Root.winfo_screenheight()))
Root.withdraw()
Root.deiconify()
Mark0 = True
elif not Fullscreen.get() and Mark0:
Root.overrideredirect(False)
Root.geometry("320x240")
#Root.withdraw()
#Root.deiconify()
Mark0 = False
Root.after(5, Loop)
结果是:
-Toggle On 1:
-Window 失去边框
- 关闭 1: -
窗口被推到屏幕的左上角 -
边框仍然缺失
- 切换2: -
窗口正常全屏
- 从 Toggle Off 1 进一步切换重复
Root = Tk()
Mark0 = False
def Loop(): #Always looping
if Fullscreen.get() and not Mark0:
Root.overrideredirect(True)
Root.geometry("{0}x{1}+0+0".format(Root.winfo_screenwidth(), Root.winfo_screenheight()))
Root.withdraw()
Root.deiconify()
Mark0 = True
elif not Fullscreen.get() and Mark0:
Root.overrideredirect(False)
Root.geometry("320x240")
Root.withdraw()
Root.deiconify()
Mark0 = False
Root.after(5, Loop)
结果是:
-Toggle On 1:
-Window 失去边框
-Toggle Off 1:
-Window 重新获得边框
- 切换2: -
窗口消失
有什么解释吗?