qt - QGroupBox边框

标签 qt qt4

搜索了一会儿后,我发现它们在组框上设置可见边框的方法是使用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/

相关文章:

c++ - Windows 服务 SERVICE_WIN32_OWN_PROCESS 运行 Qt 5.10 事件循环 howto

python - PyQt 中继承的困难

c++ - 快速调用显示/隐藏时,QT QDialog 无法正确隐藏

qt - 为什么库名称在其名称中多了一个 0?

c++ - 获取一段代码的执行时间

c++ - 加载 DLL 是否会动态协调其 stderr 到主应用程序?如果是这样,那么如何......?

c++ - Qt 并且没有 moc_*.cpp 文件

c++ - 如何将 QIcon 转换为 QPixmap

c++ - 从 Qt4 移植到 Qt5 时 Ctrl+U 组合键丢失

qt - 在QTableView中,什么 "signal"触发编辑模式