[python][PySide] ToolTipをすぐに表示する

タイトルの通り、普段だとToolTip表示まで若干ラグがあるのですが、それを即表示したかったので
やり方を調べてみました。

とりあえず長いですがソース

基本的なListViewにある項目にマウスオーバーすると、こんな感じでToolTipが即表示されます。

即表示したい場合は、view.entered.connect(func) を利用してあげればできます。
ただしそのままだと動かないので、かならず setMouseTracking をTrueにしてあげます。
Falseだと動きません。

Modelとは別に、ListViewに表示するためのクラスオブジェクトを作成してあげると
わりと扱いはシンプルになるかなーと思います。

ToolTipsに画像を表示したい場合。
これは、上サンプルのようにHTMLのタグを使用してあげればOKです。
サンプルは dataフォルダにイメージを入れてあるので、.pyからの相対パスで
imageのパスを指定しています。

これで、ツールの挙動説明だとか
細かいあれこれを表示するときはいい感じにできるかなぁと思います。

*参考*
http://stackoverflow.com/questions/31364809/pyside-instant-tooltips-no-delay-before-showing-the-tooltip

コメントを残す

メールアドレスが公開されることはありません。

*