1.透明度设置
1.1 窗体设置透明度
对于窗体透明度设置,就只需要调用一个函数就可以了,函数如下:
函数参数是浮点数,取值范围是0到1 0即为全透明
setWindowOpacity(0.5); //半透明
程序运行效果图如下(我在界面上放了一个按钮可能不明显):
// 窗口全透明 部件不透明
setWindowFlag(Qt::FramelessWindowHint); // Windows下需要配合这个
setAttribute(Qt::WA_TranslucentBackground);
1.2 部件设置透明度
部件透明度设置需要借助Qt中的一个类来使用,即QGraphicsOpacityEffect
类
// 部件透明设置
QGraphicsOpacityEffect *opacity = new QGraphicsOpacityEffect;
opacity->setOpacity(0.2); //透明范围同窗口透明度
ui->pushButton->setGraphicsEffect(opacity);
实现效果图如下:
2.部件阴影设置
// 设置部件阴影效果
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect;
// 阴影颜色设置
shadow->setColor(QColor(100,100,100));
// 阴影模糊半径,值越大越模糊
shadow->setBlurRadius(20);
// 阴影偏移值,横纵坐标同时移动20
shadow->setOffset(20);
// 部件设置阴影
ui->pushButton->setGraphicsEffect(shadow);
效果图如下:
笔记较简洁,详细资料请参考 Qt助手