如何将Tkinter destroy()绑定到Debian中的键?

如何将Tkinter destroy()绑定到Debian中的键?,第1张

如何将Tkinter destroy()绑定到Debian中的键?

使用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()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5035009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存