qt create 单击切换tabwidget页槽函数的实现,不使用lambda和inline的实现
时间: 2024-02-16 14:04:32 浏览: 170
如果您不想使用 lambda 表达式和 inline 函数实现单击切换 `QTabWidget` 的页面,可以将槽函数定义为普通的成员函数,然后通过 `SIGNAL` 和 `SLOT` 宏连接信号和槽函数。以下是一个示例代码:
```cpp
// 在头文件中定义槽函数
private slots:
void on_tabBarClicked(int index);
// 在实现文件中实现槽函数
void MyWidget::on_tabBarClicked(int index)
{
ui->tabWidget->setCurrentIndex(index);
}
// 在构造函数中连接信号和槽函数
QTabBar *tabBar = ui->tabWidget->tabBar();
connect(tabBar, SIGNAL(tabBarClicked(int)), this, SLOT(on_tabBarClicked(int)));
```
在这个示例中,我们在头文件中定义了一个名为 `on_tabBarClicked` 的槽函数,用来切换 `QTabWidget` 的页面。在实现文件中,我们实现了这个槽函数。然后,在构造函数中,我们获取了 `QTabWidget` 的 `tabBar`,然后使用 `SIGNAL` 和 `SLOT` 宏连接了 `tabBarClicked` 信号和 `on_tabBarClicked` 槽函数。这样,当标签页被点击时,就会调用 `on_tabBarClicked` 函数,从而切换 `QTabWidget` 的页面。
阅读全文