访问QTabWidget的小部件

时间:2013-08-14 13:07:01

标签: c++ qt

我有一个带有2个标签的QTabWidget,我将每个标签提升为2个自定义小部件。 这些小部件具有函数“typeName()”和“baseName()”,但我无法使用“QTabwidget-> currentWidget()”访问这些函数。

        std::string type = ui->tabWidget->currentWidget()->typeName().toUtf8().constData();
        std::string base = ui->tabWidget->currentWidget()->baseName().toUtf8().constData();

这会引发一个错误“它没有名字成员......”

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要对选项卡中的特定类型进行显式(向下)强制转换。这些函数不存在于currentWidget()返回的基类QWidget中。

std::string type = dynamic_cast<CustomType*>(ui->tabWidget->currentWidget())->typeName().toUtf8().constData();