прозрачный курсор pyGObject

Как я могу получить прозрачный курсор, используя Python GTK3 и pyGObject. Я ищу в Интернете высоко и низко, но ничего не могу найти. Я нашел много примеров с использованием растрового изображения, но я считаю, что у pyGObject нет растрового изображения. Кажется, я не могу найти никакой документации о том, что заменяет растровое изображение. Помогите я застрял.

Спасибо Сэм


person Samuel Taylor    schedule 04.02.2012    source источник


Ответы (2)


Это самое простое решение для получения прозрачного курсора:

from gi.repository import Gtk, Gdk

win = Gtk.Window(title="Hello World")
win.show_all()
cursor = Gdk.Cursor.new(Gdk.CursorType.BLANK_CURSOR)
win.get_window().set_cursor(cursor)
Gtk.main()
person Mic92    schedule 02.04.2012

Этот код сделает курсор невидимым, а не прозрачным. Но я надеюсь, что вы можете изменить его, чтобы сделать это:

from gi.repository import Gtk, Gdk
import cairo

s = cairo.ImageSurface(cairo.FORMAT_A1, 1, 1)
cursor_pixbuf = Gdk.pixbuf_get_from_surface(s, 0, 0, 1, 1)
cursor = Gdk.Cursor.new_from_pixbuf(Gdk.Display.get_default(), \
                                    cursor_pixbuf, 0, 0)
win = Gtk.Window(title="Hello World")
win.show_all()
win.get_window().set_cursor(cursor)
Gtk.main()
person Mic92    schedule 20.02.2012
comment
Большое вам спасибо, это прекрасно работает, я потратил много часов, пытаясь решить эту проблему. :D - person Samuel Taylor; 22.02.2012