某些时候为了界面美观,需要给窗口加圆角,例如Mac的很多软件的四个角都是用的圆角,国产系统deepin, uos也是这种界面风格,例如下图:
下面介绍用Qt如何实现这种带有圆角的窗口,主要有两种方法:样式表和窗口重绘。
方法1:样式表实现首先需要设置窗口透明,去掉边框,再用样式表设置背景色,圆角等,主要代码如下:
#include "widget.h" #include "ui_widget.h" #include#includeWidget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); this->setAttribute(Qt::WA_TranslucentBackground); //设置窗口背景透明 this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框窗口 this->setStyleSheet("QWidget{background-