QT6实现UI窗口无边框,设置颜色,设置透明度
废话不多说,上代码!
setWindowFlags(Qt::FramelessWindowHint);//无边框
setWindowOpacity(1.0); //透明度
setStyleSheet("background-color: " + backgroundColor + ";");
//backgroundColor是你的颜色值
注意:
1.透明度如数变量的类型应该是double,取值范围是0.0-1.0。
上面这种方法是程序窗口部件包括背景透明度是相等的。
下面这种方式是窗口背景透明,部件不透明。
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
w.setAttribute(Qt::WA_TranslucentBackground);
w.showFullScreen();
return a.exec();
}
主窗口设置。
w.setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
这一段是设置窗口全屏无边框,并且存在最上层。
w.setAttribute(Qt::WA_TranslucentBackground);
这一段是设置窗口背景透明,部件不透明。