画像にツールチップを追加しようとしています。PyGTKチュートリアルに従うと、これはうまくいくはずです:
image = gtk.Image()
image.set_from_file(image_path)
box.pack_start(image, expand=False)
tooltip = gtk.Tooltips()
tooltip.set_tip(image, "Hello!")
そうでないことを除いて。画像の上にマウスを置いても何も起こりません。ただし、ボタンで動作することはわかっています (チュートリアルのサンプル コードを実行しました)。
GTK 2.12以降では、おそらくそのまま使用できますimage.set_tooltip_text("Hello!")
が、2.10.4で立ち往生しているため、使用する必要がありますgtk.Tooltips
。
編集
のドキュメントによるとgtk.Tooltips
:
ツールチップは、独自の X ウィンドウを持つウィジェットでのみ設定できます。ウィジェットに独自のウィンドウがあるかどうかを確認するには、 を使用します
widget.flags()>k.NO_WINDOW
。独自のウィンドウを持たないウィジェットにツールチップを追加するには、ウィジェットを gtk.EventBox 内に配置し、代わりにイベントボックスにツールチップを追加します。
これで問題は解決しましたが、少し混乱しています。ボタンのフラグを確認しましたが、gtk.NO_WINDOW
画像と同じフラグがあります。では、なぜボタンには EventBox が必要ないのに、画像には必要なのでしょうか?