Скрыть стрелки QScrollBar
Как скрыть QScrollBar
стрелки?
Мне нужно спрятаться в горизонтальной полосе прокрутки.
Я пытался скрыть setStyleSheet
:
setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }" )
но это не сработает.
Ответы
Ответ 1
Если вам нужно скрыть только стрелки внутри кнопок, вы можете попытаться установить фон и границу следующим образом:
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;
}
Ответ 2
Я знаю, что это старый вопрос, но я столкнулся с проблемой с этим утвержденным ответом на вопрос, и я нашел решение для этого, поэтому я собираюсь оставить это здесь на случай, если кто-то столкнется с той же проблемой, что и я. сделал.
В то время как принятый ответ предполагает установку border
, background
и color
на none
, это только визуально скрывает стрелки полосы прокрутки. Под этим я подразумеваю, что вы по-прежнему можете щелкать по ним, и на ручку полосы прокрутки, хотя она может перемещаться в место, которое они занимали, нельзя нажимать, если курсор находится в области, занимаемой кнопками со стрелками.
Чтобы также функционально скрыть их, вы должны также установить их width
и height
в 0px
. Это сделает так, что вы можете нажать на ручку, если ручка полосы прокрутки находится в области, занятой кнопками со стрелками.
Ответ 3
Чтобы скрыть полосу прокрутки, вы можете установить политику полосы прокрутки для этой конкретной полосы прокрутки (по горизонтали в вашем случае). Например:
QScrollBar scrollBar;
scrollBar.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
Ответ 4
Создайте 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;
}