我正在Qt上最近的一个项目中工作,找不到导致此错误的原因。
这是我正在测试的布局:
菜单图标上方应该没有空隙,并且我不能缩小它,因为由于某些原因,QScrollbar会强制使用该大小。
样式表如下:
QScrollBar:vertical {
border-left: 4px solid #a7c1e7;
border-right: 4px solid #a7c1e7;
background: white;
height-max: 500px;
width: 140px;
margin-right: 120px; /*<- Appears to be causing the issue*/
}
QScrollBar::handle:vertical {
background-color: #a7c1e7dd;
border-top: 4px solid #a7c1e7;
border-bottom: 2px solid #a7c1e7;
min-height: 100px;
}
QScrollBar::add-line:vertical,QScrollBar::sub-line:vertical {
border: 4px solid #a7c1e7;
border-radius: 16px;
background: white;
height: 80px;
width: 80px;
margin: 20px;
margin-left: 40px;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical {
subcontrol-position: bottom;
}
QScrollBar::sub-line:vertical {
subcontrol-position: top;
}
QScrollBar::up-arrow:vertical,QScrollBar::down-arrow:vertical {
border: 0px;
margin: 0px;
width: 80px;
height: 80px;
}
QScrollBar::up-arrow:vertical {
background-image: url(:/arrow_up_triangle.svg);
}
QScrollBar::down-arrow:vertical {
background-image: url(:/arrow_down_triangle.svg);
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {
background: none;
}
如果我将margin-right
设置为40px或更小,间隙将消失。超过40像素时,间隙按比例缩放。
如果有人能指出正确的方向,我将非常感激。