我的UI中有QGroupBox。基本样式是2px宽度的边框,边框半径和标题垂直居中。
我在样式表中使用了以下样式(位于.qrc中,使用app-> setStylesheet在主菜单中应用:]
QGroupBox {
border: 1px solid #22a4bc;
border-radius: 0px;
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top; /* position at the top center */
}
问题是,标题现在下降了几个像素,并且实际上在组框内的元素上方。
我想将其居中。我尝试了垂直对齐,subcontrol-align,subcontrol-alignment甚至top:-5px,它实际上使标题居中,但修剪了高于边框的文本。在SO或Qt论坛上没有找到解决我问题的答案。
有人知道如何将标题的垂直对齐设置为后居中吗?(我使用C ++,Qt 5.2.1 / msvc2012,Qt Creator 3.6.1 / Windows 7)
我了解我的错误:根据框模型(页边距>边框>填充>内容),我的文本的原点位于页边距。但是我的QGroupBox中没有空白,所以很奇怪。
我想出了我想要的样式:
QGroupBox {
border: 1px solid #22a4bc;
border-radius: 0px;
padding-top: 10px;
margin-top: 5px;
}
QGroupBox:title {
subcontrol-origin: margin;
subcontrol-position: top center;
margin-left: 3px;
margin-right: 3px;
}