7

Qtには、垂直方向にスクロールできるコンテンツが含まれているQScrollAreaがありますが、水平方向にスクロールすることはできません。H スクロールバーの表示を無効にしても、水平方向の動きをサポートするスクロール ホイール (またはタッチ パッド) を備えたマウスでは、左右に少し移動します。

さて、これは部分的にレイアウトの問題かもしれません...しかし、実際には何も画面から外れていません. それはおそらく警官ですが、スクロール領域を後ろから「ロック」して、水平方向にまったく移動できないようにする方法はありますか?

4

3 に答える 3

10
scrollArea->verticalScrollBar()->setEnabled(false);
scrollArea->horizontalScrollBar()->setEnabled(false);
于 2016-09-13T08:49:54.740 に答える
4

メソッドまたはオーバーロードメソッドでフィルターがQScrollArea必要です。QEvent::WheeleventFilterwheelEvent(QWheelEvent* event)

QWidget他の方法は、オーバーロードされたもののみから継承されたウィジェットを作成しeventFilter、そのフィルターをスクロール領域に適用することです:

scrollArea->viewport()->installEventFilter(someFilterWidget);
于 2012-10-18T14:15:42.833 に答える
2

スクロール バー ポリシーを設定しようとしましたか?

myScrollArea->setHorizo​​ntalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

http://qt-project.org/doc/qt-4.8/qabstractscrollarea.html#horizo​​ntalScrollBarPolicy-prop

于 2012-10-18T14:11:45.977 に答える