我的UI中有QGroupBox。基本样式是2px宽度的边框,边框半径和标题垂直居中。
我在样式表中使用了以下样式(在.qrc中,使用app->setStylesheet在main中应用):
QGroupBox {
border: 1px solid #22a4bc;
border-radius: 0px;
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top; /* position at the top center */
}问题是,标题现在下降了几个像素,实际上在分组框中的元素上。
我想让它居中。我尝试了垂直对齐,子控件对齐,子控件对齐,甚至top:-5px,它实际上将标题居中,但修剪高于边框的文本。我在这里或Qt论坛上没有找到任何解决我的问题的答案。
有谁知道如何将标题的垂直对齐设置为背部居中?(我使用C++,Qt 5.2.1 / msvc2012,Qt Creator 3.6.1 /Windows7)
发布于 2016-06-28 23:10:03
我明白了我的错误:根据方框模型(边距>边框>填充>内容),我的文本的原点在边距中。但我的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;
}https://stackoverflow.com/questions/38079435
复制相似问题