qt子界面设置不透明
时间: 2024-12-14 20:21:50 浏览: 5
Qt 控件透明度设置方法总结
在Qt中,如果你想让子界面窗口不透明,也就是设置其背景为半透明或完全透明,你可以通过设置窗口样式来实现。以下是步骤:
1. 创建一个`QMainWindow` 或 `QWidget` 子类,并在初始化时创建窗口。
```cpp
class NonOpaqueSubWindow : public QMainWindow {
Q_OBJECT
public:
NonOpaqueSubWindow(QWidget *parent = nullptr) : QMainWindow(parent) {
setWindowFlags(Qt::Window | Qt::FramelessWindowHint); // 设置无边框
setAttribute(Qt::WA_TranslucentBackground, false); // 关闭透明背景
this->setStyleSheet("background-color: white;"); // 设置窗口背景颜色为白色或其他你喜欢的颜色
show();
}
};
```
在这个例子中,`Qt::Window`标志保留了窗口的基本属性,`Qt::FramelessWindowHint`用于移除窗口边框,`setAttribute(Qt::WA_TranslucentBackground, false)`关闭窗口的半透明特性,最后设置了窗口背景颜色。
阅读全文