2016-12-12 7 views
0

マウスカーソルがQButtonの上を移動する場合、関数をトリガする適切な方法は何ですか?Qtボタンの上に移動して機能を起動しますか?

より正確には、statusLabelというラベルがあります。このラベルは、マウスカーソルをボタン上に置くとメッセージが表示され、マウスが上にないときは空の文字列に戻るはずです。

答えて

3

QPushButton(またはホバーイベントをキャプチャするクラス)から派生した独自のクラスを作成する必要があります。

このクラスでは、QWidget::enterEvent()をオーバーライドして、マウスがウィジェットをホバーして機能を呼び出すタイミングを検出できます。たとえば、ラベルの消去をトリガーするカスタム信号を放出することができます。

+0

私はちょうどQWidgetがHoverトリガーを持っていることを知りました。 –

+0

@JoeCarr 'QWidget'はC++クラスです。あなたは "ホバートリガーを持っている"という意味ですか?イベントフィルタについて読む必要があります。それは良い答えです。 –

+0

"ui-> nucButton-> setAttribute(Qt :: WA_Hover、true);"トリガーが意味するもので、私がそれを持っている問題は、それをどのように使用するのか分からないということです。真の値が本当に真であるかどうかをチェックするif文として試してみましたが、うまくいきませんでした。 –

関連する問題