如何隐藏滚动条QScrollArea
?目前我hide()
在返回的滚动条上使用该方法,QScrollArea::horizontalScrollBar()
但QScrollArea::verticalScrollBar()
为滚动条保留的空间仍然存在。显然,这看起来很丑陋,而且不节省空间。如果我完全移除滚动条,我将无法再使用QScrollBar::setValue()
.
问问题
20357 次
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
来自QtscrollContentsBy()
文档:
调用此函数以编程方式滚动是错误的,请改用滚动条(例如,通过直接调用 QScrollBar::setValue())。
于 2011-11-28T19:03:37.530 回答