如何隐藏 QScrollBar
箭头?
我需要在水平滚动条中隐藏箭头。
我尝试使用 setStyleSheet
隐藏:
setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }" )
但它无法正常工作。
如何隐藏 QScrollBar
箭头?
我需要在水平滚动条中隐藏箭头。
我尝试使用 setStyleSheet
隐藏:
setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }" )
但它无法正常工作。
如果您只需要隐藏按钮内部的箭头,则可以尝试以这种方式设置背景和边框:
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;
}
border
、background
和color
设置为none
,但这只是视觉上隐藏了滚动条箭头。我的意思是,您仍然可以点击它们,而滚动条的处理程序,尽管它可以移动到它们占用的地方,但如果您的光标在箭头按钮的区域内,则无法单击它们。width
和height
样式设置为0px
。这将使您在滚动条的处理程序位于箭头按钮所占据的区域时能够单击处理程序。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;
}
为了隐藏滚动条,您可以设置该特定滚动条(在您的情况下为水平滚动条)的滚动条策略。例如:
QScrollBar scrollBar;
scrollBar.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);