QTabWidget:确定页面为QTableWidget

时间:2015-12-26 06:07:30

标签: c++ qt qtablewidget qtabwidget

我的Qt应用程序的MainWindow有QTabWidget,其中每个选项卡都是QTableWidget。我需要访问当前表格的选定单元格(currentRow()currentColumn())。但是,当我用ui->tabWidget->currentWidget()结果指向表时,结果是QWidget *,因此像currentRow()这样的方法不存在。

有没有办法确定QTabWidget的所有页面都是QTableWidget类的成员?

1 个答案:

答案 0 :(得分:1)

您可以使用qobject_cast检查QObject类型的对象是T类型的对象是否继承自QObject

QWidget *widget = ui->tabWidget->currentWidget();
QTableWidget *tableWidget = qobject_cast<QTableWidget*>(widget);
if (tableWidget != 0)
{
    /// Do work
}

顺便说一句,您可以通过

获取所有QTableWidget
QList<QTableWidget *> allTables = ui->tabWidget->findChildren<QTableWidget *>();