需求

qt QGroupBox 自带的边框颜色非常淡,和 QFrameframeShape 中的 Box 颜色相差太大了。希望修改边框,能够整体契合一些。

解决

QGroupBox 没有 frameShape, 只能通过 styleSheet 的配置来达到效果。在 designer 中如下设置 stypeSheet 即可和 QFrame 合拍。

QGroupBox{
    border-width:1px;
    border-style:solid;
    border-color:gray;
    margin-top:0.5ex;
}

如果还想要圆角矩形之类的,那么需要这样设置:

QGroupBox{
    border-width:2px;
    border-style:solid;
    border-radius: 10px;
    border-color:gray;
    margin-top:0.5ex;
}

当然也可以在代码中使用如下的格式来进行配置:

ui->groupBox->setStyleSheet("background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #E0E0E0, stop: 1 #FFFFFF);"
			      " border-radius: 5px; margin-top: 1ex; ");//border: 2px solid gray;

参考

QGroupBox 显示边框 圆角边框 linux环境

QGroupBox设置边框