我想使用QMainWindow::setStyleSheet方法设置我的QMainWindow类的半透明背景。我做了以下操作:
``` QMainWindow { background-color: rgba(255, 255, 255, 0.5); } ```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();
我得到了完全透明的窗口,几乎什么都看不见。如果我不这样做
window.setAttribute(Qt::WA_TranslucentBackground, true);
我得到了完全红色的窗口。
我发现,继承 'QMainWindow',重载 'paintEvent()' 并使用带有 alpha 的 QColor 的 'QPainter->fillRect()' 可以实现我的要求,但它不使用样式表。
有人可以帮助我使用 'setStyleSheet()' 方法来做到这一点吗?我已经找到了很多帖子和答案,但没有一个能帮到我。
最好的问候。