【发布时间】:2013-06-19 03:26:29
【问题描述】:
我在我的 Raspberry Pi 上使用 Tkinter 和 Python 3.2.3,我正在尝试制作一个检查按钮来切换窗口是否全屏。我遇到了两个问题:
首先,当我使用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)
结果:
-打开 1:
-窗口失去边框
-关闭 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)
结果:
-打开 1:
-窗口失去边框
-关闭 1:
-Window 恢复边框
-开启 2:
-窗口消失
有什么解释吗?
【问题讨论】:
标签: python-3.x tkinter raspberry-pi