新的QWidget(窗口部件)在指定的widget显示
时间: 2024-09-15 08:11:53 浏览: 45
父子窗口部件的建立
在Qt中,如果你想让新的QWidget在已经存在的QWidget(比如主窗口或其他嵌套的窗口部件)内部显示,你需要先创建新窗口,并将其添加到这个已有窗口的布局中。这里有几个步骤可以参考:
1. **创建新窗口**:
```cpp
QWidget *newChildWidget = new QWidget(this); // 'this' 指的是父窗口
```
2. **设计布局**:
- 如果你想在父窗口的某个特定位置放置它,可以使用`setGeometry()`:
```cpp
newChildWidget->setGeometry(x, y, width, height); // 代替0,0为左上角,(0, 0)
```
- 或者使用父窗口提供的布局,如 QVBoxLayout, QHBoxLayout 等:
```cpp
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(newChildWidget);
parentWidget->setLayout(layout);
```
3. **关联父窗口**:
将新窗口添加到父窗口作为子窗口,通常是在窗口构建完成后:
```cpp
parentWidget->addLayout(layout); // 如果使用布局
parentWidget->addWidget(newChildWidget); // 如果直接定位位置
```
阅读全文