小编Fry*_*ryk的帖子

使用样式表在 QMainWindow 上使用 Qt 5.10 半透明背景

我想使用 QMainWindow::setStyleSheet 方法设置 QMainWindow 类半透明背景。我做类似的事情:

QMainWindow window;
window.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
window.setStyleSheet("background-color: rgba(255, 0, 0, 128)");
window.setAttribute(Qt::WA_TranslucentBackground, true);
window.setFixedSize(800, 600);
window.show();
Run Code Online (Sandbox Code Playgroud)

我得到了完全透明的窗口,我几乎看不到任何东西。如果我没有这样做

window.setAttribute(Qt::WA_TranslucentBackground, true);
Run Code Online (Sandbox Code Playgroud)

我得到了完全红色的窗口。

我发现,继承'QMainWindow',重载'paintEvent()'并使用'QPainter->fillRect()'和带有alpha的QColor可以做我想要的,但它没有使用样式表。

任何人都可以帮助使用“setStyleSheet()”方法来完成此操作吗?我已经找到了很多帖子和答案,但没有任何帮助我。

此致。

c++ background transparent stylesheet qt5.10

6
推荐指数
1
解决办法
3777
查看次数

标签 统计

background ×1

c++ ×1

qt5.10 ×1

stylesheet ×1

transparent ×1