qt 通过currentChanged(int index)如何获取tabwidget上new出来的窗口对象
时间: 2024-02-13 14:00:38 浏览: 87
qt-tabwidget-标题栏tab颜色设置
3星 · 编辑精心推荐
如果是通过`new`操作符创建的子窗口,需要在创建时将指针保存下来,然后在`currentChanged(int index)`槽函数中根据索引位置获取指针即可。示例代码如下:
```cpp
void MainWindow::on_tabWidget_currentChanged(int index)
{
QWidget* currentWidget = ui->tabWidget->widget(index);
MyChildWidget* childWidget = dynamic_cast<MyChildWidget*>(currentWidget);
// 对MyChildWidget窗口进行操作
}
```
其中,`MyChildWidget`是自己定义的子窗口类,如果创建子窗口时使用的是指针,可以直接将指针类型转换为`MyChildWidget*`,然后对该窗口进行操作。但是需要注意的是,如果在创建子窗口时使用的是`new`操作符,需要在合适的时机手动释放内存,否则会发生内存泄漏。
阅读全文