我的Qt应用程序的MainWindow有QTabWidget,其中每个选项卡都是QTableWidget。我需要访问当前表格的选定单元格(currentRow()
和currentColumn()
)。但是,当我用ui->tabWidget->currentWidget()
结果指向表时,结果是QWidget *,因此像currentRow()
这样的方法不存在。
有没有办法确定QTabWidget的所有页面都是QTableWidget类的成员?
答案 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 *>();