0

多くのレイアウトとウィジェットを備えたアプリ ウィンドウがあります。スイッチオフのスクロールバーを備えたスクロールエリアもあります。scrollareaup と scrollareadown のスロットを作成できます。しかし、すべての App に対して wheelEvent を作成すると、スクロールエリアにない項目 int app に対してのみ機能します。これを試してみると:

void TContic_win::wheelEvent(QWheelEvent *event) {
  cout << "-" << endl;
} 

どうすれば修正できるかわかりません。私の考えは次のようなものです:

bool TContic_win::eventFilter(QObject *obj, QEvent *e) {

  if (isChildOfScrollWidget(obj) { if (e == wheel) scroll Up or Down }

}
4

2 に答える 2

0

ごめんなさい。それは私の間違いです。イベントフィルターが間違っていました。私は悪い状態で「returntrue」を使用したので、この間違いのために私は常に他のイベントを無視し、私のイベントフィルターは子アイテムに対して機能しません。ちなみに、お疲れ様でした。

于 2012-10-17T05:28:57.473 に答える
0

次のようなことを行うことができます (ウィジェットがYour_Scrol_Widget親としてある場合):

void TContic_win::wheelEvent(QWheelEvent *we)
{
    if (this->childAt( we->pos() )->parent() == Your_Scrol_Widget)
        qDebug() << "-" ;
}

あなたはアイデアを持っている必要があります。

于 2012-10-16T23:06:23.790 に答える