PyGTK隐藏光标
收藏

问题很简单,如何使用pygtk隐藏活动窗口上的光标???
这是我做的一个基本的应用程序来学习这个…

#!/usr/bin/env python

import gtk

class app:

  def __init__(self):
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window.set_title("TestApp")
    window.set_default_size(400,200)
    pixmap = gtk.gdk.Pixmap(None, 1, 1, 1)
    color = gtk.gdk.Color()
    cursor = gtk.gdk.Cursor(pixmap, pixmap, color, color, 0, 0)
    window.set_cursor(cursor)
    window.connect("destroy", gtk.main_quit)    
    window.show_all()

app()
gtk.main()

很明显,它只是一个窗口,但当我去尝试运行它。我搞错了。
attributeerror:'gtk.window'对象没有'set\u cursor'属性
在看到那个错误之后,我意识到gt.window不能做到这一点,但是gtk.gdk.window会。但是,我如何转换这个基本窗口,使它隐藏光标。


最佳答案:

the PyGTK FAQ所述,您应该将光标设置在realize信号上。如果不等待realize信号,the gtk.gdk.window hasn't been created yet,则无法更改光标。
所以,你可以这样做:

#!/usr/bin/env python

import gtk

class app:

  def __init__(self):
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window.set_title("TestApp")
    window.set_default_size(400,200)
    window.connect("realize", self.realize_cb)
    window.connect("destroy", gtk.main_quit)    
    window.show_all()

  def realize_cb(self, widget):
    pixmap = gtk.gdk.Pixmap(None, 1, 1, 1)
    color = gtk.gdk.Color()
    cursor = gtk.gdk.Cursor(pixmap, pixmap, color, color, 0, 0)
    widget.window.set_cursor(cursor)

app()
gtk.main()

    公众号
    关注公众号订阅更多技术干货!