Скрыть стрелки QScrollBar
Как спрятаться QScrollBar
стрелы?
Мне нужно спрятаться в горизонтальной полосе прокрутки. Я пытался спрятаться с setStyleSheet
:
setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }" )
но это не работает
3 ответа
Если вам нужно скрыть только стрелки внутри кнопок, вы можете попробовать установить фон и границу следующим образом:
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 scrollBar;
scrollBar.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
Создать 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;
}