【RAD統合環境】 Qt 総合スレ 5 【Win/Mac/Linux】 at TECH
[2ch|▼Menu]
166:165
09/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文で
切り分けなければならない。
個人的には、イベントフィルター専用クラスを用意して使いまわすようなことがないのなら、
やっぱり、通常のカスタムクラスか格上げのほうがいいような気がするけど。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5240日前に更新/218 KB
担当:undef