- 166 名前:165 [2009/10/18(日) 01:57:05 ]
- >>151
>やりたいことは、単に何かのコントロール(QtではWidget?)に絵を表示させて、 >マウスを当てたらその座標の画素の色情報をツールチップかなんかで見れるということです。 例えばメインウィジットMainWidgetがイベントをハンドルする側で、イベントをハンドルされる側が PictWidgetとすると、MainWidgtにeventFilter()を定義し、 pictWidget->installEventFilter(mainWindow); などすればよい。 MainWidet::eventFilter()は、例えば次のようになる。 bool MainWidget::eventFilter(QObject* iObject, QEvent* iEvent) { Q_UNUSED(iObject); if(iEvent->type() == QEvent::MouseButtonPress) { // ここに処理を書く return true; } return false; } なお、もちろんイベントをハンドルするクラスを独立に定義してもよい。 イベントフィルタでは、全部のイベントがハンドルできるから特定のイベントをif文で 切り分けなければならない。 個人的には、イベントフィルター専用クラスを用意して使いまわすようなことがないのなら、 やっぱり、通常のカスタムクラスか格上げのほうがいいような気がするけど。
|

|