Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QScrollBar样式表调整大小句柄_Qt_Qtstylesheets - Fatal编程技术网

Qt QScrollBar样式表调整大小句柄

Qt QScrollBar样式表调整大小句柄,qt,qtstylesheets,Qt,Qtstylesheets,我需要设置一些滚动条的样式,如图所示: 在经历了许多痛苦和实验之后,我发现了如何制作渐变和隐藏箭头 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 " " bo

我需要设置一些滚动条的样式,如图所示:

在经历了许多痛苦和实验之后,我发现了如何制作渐变和隐藏箭头

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手柄宽度不能更改,它是按条的百分比计算的

因此,我将滚动条替换为一个滑块,该滑块还可以通过设置负边距使手柄高度超过滚动条的总宽度

我用它来更新我的问题中的样式。

我发现QScrollBar手柄宽度不能更改,它是按条的百分比计算的

因此,我将滚动条替换为一个滑块,该滑块还可以通过设置负边距使手柄高度超过滚动条的总宽度

我用这个来更新我的问题的风格