9

でスクロールバーを非表示にするにはどうすればよいQScrollAreaですか? 現在、 andhide()によって返されたスクロールバーでメソッドを使用していますが、スクロールバー用に予約されたスペースはまだ残っています。明らかに、これは非常に見苦しく、スペース効率が良くありません。スクロールバーを完全に削除すると、 を使用して特定のポイントまで簡単にスクロールできなくなります。QScrollArea::horizontalScrollBar()QScrollArea::verticalScrollBar()QScrollBar::setValue()

4

4 に答える 4

19

スタイルシートを使用して非表示にすることができます。height:0px;水平スクロール バーと垂直スクロール バーを非表示にするために使用しwidth=0px;ます。そのように:

horizontalScrollBar()->setStyleSheet("QScrollBar {height:0px;}");
verticalScrollBar()->setStyleSheet("QScrollBar {width:0px;}");

スクロールバーはありませんが、 を使用して操作できますsetValue()

于 2013-09-05T11:09:39.013 に答える
18

次のコードを使用します。

QAbstractScrollArea::setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff )
QAbstractScrollArea::setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ) 
于 2010-08-02T01:42:01.883 に答える
2

このコードは仕事をすることができます:

 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 verticalScrollBar()->hide();
 verticalScrollBar()->resize(0, 0);
于 2010-08-30T02:37:22.877 に答える
1

QtドキュメントからscrollContentsBy()

プログラムでスクロールするためにこの関数を呼び出すとエラーになります。代わりにスクロール バーを使用してください (たとえば、QScrollBar::setValue() を直接呼び出して)。

于 2011-11-28T19:03:37.530 に答える