QT父打开子窗口后,为什么父窗口也能看到,明明子窗口大小和父一样大啊
时间: 2024-05-06 14:18:49 浏览: 92
Qt6:子窗口向父窗口传值
这是因为默认情况下,子窗口是作为父窗口的子控件来显示的,它们共享同一个区域。当子窗口显示在父窗口中时,它会遮挡父窗口的部分区域,但父窗口的其他部分仍然可见。如果你想要子窗口完全覆盖父窗口,你可以设置子窗口的窗口标志为Qt::Window,这样子窗口就会成为一个独立的窗口,并且不再是父窗口的子控件。你可以通过以下代码实现:
```cpp
// 创建一个子窗口
QDialog *dialog = new QDialog(this);
// 设置子窗口的窗口标志为Qt::Window
dialog->setWindowFlags(Qt::Window);
// 显示子窗口
dialog->show();
```
这样子窗口就会成为独立的窗口,不再是父窗口的子控件,完全覆盖父窗口。
阅读全文