QScrollBar 样式表调整大小句柄
QScrollBar stylesheet resize handle
我需要像图片中那样设置一些滚动条的样式:
经过大量的努力和实验,我找到了如何制作渐变和隐藏箭头。
m_scrollBarStyleSheet = "QScrollBar:horizontal { \n "
" background-color: qlineargradient(x1: 1, y1: 0.5, x2: 0, y2: 0.5, stop: 0 magenta, stop: 1 #FFFFFF); \n "
" border: 1px solid black; \n"
" height: 35px; \n "
" width: 261px; \n"
" margin: 0 0 0 0; \n "
"} \n "
"QScrollBar::handle:horizontal { \n"
" background-color: silver; \n"
" border: 1px solid grey; \n"
" height: 55px; \n" // seems to do nothing
" width: 2px; \n" // seems to do nothing
"} \n"
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { \n" // hides arows
" border: none; background: none; \n"
"} \n"
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { \n" // makes background show through
" border: none; \n"
"} \n";
QString s = m_scrollBarStyleSheet;
s.replace("magenta", "yellow"); // whatever color I need
horizontalScrollBar->setStyleSheet(s);
...
结果:足够接近:
但是我做的任何事情似乎都不允许我调整实际滚动块的大小(句柄?)-我不能使它更薄,而且我还没有看到任何可以使它的高度超过后面矩形的高度的东西.
如何调整小滑动矩形的大小以尽可能适合所需的图像?
注意我必须使用 Qt 4.8
我发现 QScrollBar
手柄宽度无法更改,它是按栏的百分比计算的。
因此,我用滑块替换了滚动条,滑块的手柄高度也可以超过滚动条的总宽度:通过设置负边距。
(我用这个 example 来更新我的问题的样式)。
我需要像图片中那样设置一些滚动条的样式:
经过大量的努力和实验,我找到了如何制作渐变和隐藏箭头。
m_scrollBarStyleSheet = "QScrollBar:horizontal { \n "
" background-color: qlineargradient(x1: 1, y1: 0.5, x2: 0, y2: 0.5, stop: 0 magenta, stop: 1 #FFFFFF); \n "
" border: 1px solid black; \n"
" height: 35px; \n "
" width: 261px; \n"
" margin: 0 0 0 0; \n "
"} \n "
"QScrollBar::handle:horizontal { \n"
" background-color: silver; \n"
" border: 1px solid grey; \n"
" height: 55px; \n" // seems to do nothing
" width: 2px; \n" // seems to do nothing
"} \n"
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { \n" // hides arows
" border: none; background: none; \n"
"} \n"
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { \n" // makes background show through
" border: none; \n"
"} \n";
QString s = m_scrollBarStyleSheet;
s.replace("magenta", "yellow"); // whatever color I need
horizontalScrollBar->setStyleSheet(s);
...
结果:足够接近:
但是我做的任何事情似乎都不允许我调整实际滚动块的大小(句柄?)-我不能使它更薄,而且我还没有看到任何可以使它的高度超过后面矩形的高度的东西.
如何调整小滑动矩形的大小以尽可能适合所需的图像?
注意我必须使用 Qt 4.8
我发现 QScrollBar
手柄宽度无法更改,它是按栏的百分比计算的。
因此,我用滑块替换了滚动条,滑块的手柄高度也可以超过滚动条的总宽度:通过设置负边距。
(我用这个 example 来更新我的问题的样式)。