2011-11-07 7 views
0

私はアプリケーションでGtk :: EventBoxにラップし、button-press-eventを監視することで、「クリック可能な」Gtk :: Imageを実装しました。Gtk :: Imageをホバリングするときにカーソルを変更する

私はマウスカーソルを画像に乗せたときに手を変えたいと思っていますが、その方法を見つけることができません。私はget_window() - > set_cursor()を使用しようとしました。しかし、Gtk :: ImageとGtk :: EventBoxの両方がヌルポインタを返します(おそらくそれほど驚くべきことではありません)。

画像を移動しているときにカーソルを変更するにはどうすればよいですか?私にとって

答えて

3

作品は:

#! /usr/bin/env python 

import gtk 

window = gtk.Window() 
box = gtk.EventBox() 
image = gtk.image_new_from_file ('trollface.jpg') 

window.add (box) 
box.add (image) 

window.show_all() 
window.present() 
image.window.set_cursor (gtk.gdk.Cursor (gtk.gdk.HAND1)) 

window.connect ('destroy', lambda *ignored: gtk.main_quit()) 

gtk.main() 

私はそれはPyGTKのではとのgtkmmでも同じだと仮定します。

+0

ありがとう、私のために働いていなかった理由は、get_window()が何かを返す前にイメージが "実現"しなければならないということでした。 "実現"信号からset_cursorを呼び出すとうまく動作します。 – Kazade

関連する問題