如何隐藏QScrollBar
箭头?
我需要隐藏在水平滚动条中。
我试图隐藏setStyleSheet
:
setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }" )
但它不起作用。
答案 0 :(得分:12)
如果您只需要隐藏按钮内的箭头,那么您可以尝试以这种方式设置背景和边框:
QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal
{
border: none;
background: none;
color: none;
}
如果你想隐藏整个按钮,那么你可以使用下面的代码。
QScrollBar::add-line:horizontal {
border: none;
background: none;
}
QScrollBar::sub-line:horizontal {
border: none;
background: none;
}
答案 1 :(得分:4)
我知道这是一个老问题,但是我遇到了有关该问题的认可答案的问题,并且找到了解决方法,因此如果有人遇到相同问题,我将在此保留我遇到的问题。
尽管the accepted answer建议将border
,background
和color
设置为none
,但这只是视觉上隐藏了滚动箭头。我的意思是,您仍然可以单击它们,并且滚动条的手柄可以移动到它们占据的位置,但是如果光标位于箭头按钮区域内,则不能单击 占领。
要在功能上也隐藏它们,还应该将它们的width
和height
样式也设置为0px
。如果滚动条的手柄位于箭头按钮所在的区域,则可以 单击该手柄。
答案 2 :(得分:0)
为了隐藏滚动条,您可以为该特定滚动条设置滚动条策略(在您的情况下为水平)。例如:
QScrollBar scrollBar;
scrollBar.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
答案 3 :(得分:0)
创建一个QScrollBar
并为其分配此样式表,这应该可以解决问题。参见下面的示例。
QScrollBar:vertical {
width: 15px;
background: #f1f1f1;
}
QScrollBar::handle:vertical {
background: #888;
}
QScrollBar::add-line:vertical {
border: 2px solid gray;
background: #f1f1f1;
}
QScrollBar::sub-line:horizontal {
border: 2px solid gray;
background: #f1f1f1;
}
QScrollBar::handle:hover:vertical {
background: #555;
}