如何在Tkinter中隐藏或禁用鼠标指针?

我有一个不需要鼠标的全屏Tkinter Python应用程序 – 简化版本如下.它会打开全屏并在按F1时激活文本小部件.

import Tkinter as tk

class App():
    def __init__(self):
        self.root = tk.Tk()
        self.root.attributes('-fullscreen', True)
        self.root.configure(background='red')
        self.root.bind('<F1>', self.opennote)
        self.root.bind('<F2>', self.closenote)
        self.root.bind('<F3>', self.quit)
        l = tk.Label(text="some text here")
        l.pack()
        self.root.mainloop()

    def opennote(self, event):
        self.n = tk.Text(self.root, background='blue')
        self.n.pack()

    def closenote(self, event):
        self.n.destroy()

    def quit(self, event):
        self.root.destroy()

App()

启动时,鼠标指针不可见.但是,在启动Text小部件后,它会变得可见,然后停留(在文本框架和屏幕的其余部分之间改变形状).

我发现了一些关于如何隐藏鼠标光标的文章(通过在参数中使用cursor =”),但是我没有找到任何可以在鼠标指针上使用鼠标指针的文章.

是否可以在Tkinter中完全隐藏(或禁用)鼠标指针?

(a question on how to set the mouse position通过发出self.root.event_generate(‘< Motion>‘,warp = True,x = self.root.winfo_screenwidth(),y = self.root.winfo_screenheight())帮助我将光标移开.这不是一个解决方案,但至少指针不会从屏幕中间跳到一个人的脸上)

我最接近的是创建一个Frame并将光标设置为’none’,但它仍然存在一个问题,即要求光标离开并重新进入应用程序窗口,至少在我的机器上(Mac OS X Mavericks) .也许其他人可以弄清楚如何在应用程序加载时触发光标消失,但这是我到目前为止的代码:

import Tkinter as tk


class App():
    def __init__(self):
        self.root = tk.Tk()
        self.root.attributes('-fullscreen', True)
        self.main_frame = tk.Frame(self.root)
        self.main_frame.config(background='red', cursor='none')
        self.main_frame.pack(fill=tk.BOTH, expand=tk.TRUE)
        self.root.bind('<F1>', self.opennote)
        self.root.bind('<F2>', self.closenote)
        self.root.bind('<F3>', self.quit)
        l = tk.Label(self.main_frame, text="some text here")
        l.pack()
        self.root.mainloop()

    def opennote(self, event):
        self.n = tk.Text(self.main_frame, background='blue')
        self.n.pack()

    def closenote(self, event):
        self.n.destroy()

    def quit(self, event):
        self.root.destroy()

App()
翻译自:https://stackoverflow.com/questions/20446782/how-to-hide-or-disable-the-mouse-pointer-in-tkinter

转载注明原文:如何在Tkinter中隐藏或禁用鼠标指针?