搜索了一会儿后,我发现它们在组框上设置可见边框的方法是使用StyleSheet属性。我补充说:
border: 2px solid gray;
但是有两个问题。
1)组框内的所有内容也都继承此设置!
2)边框在标题附近缺少一个小孔/块。
这是我在说什么的图片:
有人知道如何正确执行此操作吗?
谢谢,
大卫
最佳答案
第一个问题很简单,当您向控件添加样式表时,它会自动将样式传播到所有子窗口小部件。但是,您可以通过两种方式限制样式表的使用。您可以指定要样式表应用到的控件的类型。例:
QGroupBox {
border: 2px solid gray;
border-radius: 3px;
}
此样式表将仅在“组”框上设置。但是,如果在该分组框内放置第二个分组框,样式也会传播到该分组框。可能是好是坏。
另一种方法是专门向其应用样式的窗口小部件的objectName。例:
QGroupBox#MyGroupBox {
border: 2px solid gray;
border-radius: 3px;
}
这只会将样式应用于对象名称为MyGroupBox的组框。
至于空间,这是因为标题被绘制在边框的顶部。您也可以在样式表中添加一个部分来更改组框标题。这包括将背景设置为透明,以及将标题移至您喜欢的内容。
示例:这会将您的标题设置为边框内组框的左上角,没有任何间隙。
QGroupBox::title {
background-color: transparent;
subcontrol-position: top left; /* position at the top left*/
padding:2 13px;
}
关于qt - QGroupBox边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306019/