使用overrideredirect程序会失去与窗口管理的联系,因此似乎无法获得有关按键的信息,甚至无法获得焦点。
MS Windows是一个大的窗口管理器,因此似乎
overrideredirect无法在该系统上运行。
也许您可以
self.root.attributes('-fullscreen',True)代替
self.root.overrideredirect(True)
顺便说一句:我用于测试
self.root.after(5000, self.root.destroy)-在无法控制5秒后杀死窗口。
编辑:
一些(有效的)示例
fullscreen。
overrideredirect在Linux上使用时,程序可以获取键盘事件,因此绑定不起作用,并且您无法集中注意力
Entry()。但是鼠标和
Button()作品。
overrideredirect适用于带或不带按钮的“启动画面”。
import Tkinter as tkclass App(): def __init__(self): self.root = tk.Tk() # this works self.root.attributes('-fullscreen', True) # this doesn't work #self.root.overrideredirect(True) #self.root.geometry("800x600+100+100") # to see console behind #self.root.after(5000, self.appexit) # to kill program after 5s self.root.bind('q', self.q_pressed) tk.Label(text="some text here").grid() e = tk.Entry(self.root) e.grid() e.focus() # focus doesn't work with overrideredirect tk.Button(self.root, text='Quit', command=self.appexit).grid() self.root.mainloop() def q_pressed(self, event): print "q_pressed" self.root.destroy() def appexit(self): print "appexit" self.root.destroy()App()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)