QT在程序代码更改样式表实现窗口边框圆角
时间: 2024-03-20 11:40:52 浏览: 69
QT通过QSS文件样式表设置改变窗体与按钮背景外观.rar
在程序中更改样式表实现窗口边框圆角的方法和上面的方法类似,只是需要在代码中设置样式表而不是在QSS文件中设置。
具体的步骤如下:
1.在窗口的构造函数中设置窗口的样式为Qt::FramelessWindowHint,这样可以去掉窗口的默认边框。
2.在窗口的resizeEvent事件中重新设置窗口的形状为圆角,代码如下:
```
void MyWidget::resizeEvent(QResizeEvent *event)
{
QRegion region(0, 0, width(), height(), QRegion::Ellipse);
setMask(region);
}
```
3.在程序中更改样式表,设置圆角属性:
```
QString style = "QWidget#MyWidget{border-radius:10px;}";
setStyleSheet(style);
```
其中,MyWidget是窗口的对象名,10px是设置的圆角半径。
通过以上步骤,即可实现窗口边框圆角的效果。需要注意的是,如果窗口的样式表被其他地方修改,可能会影响到窗口的圆角效果。
阅读全文