Qt应用程序的MainWindow有QTabWidget,其中每个选项卡都是一个QTableWidget。我需要访问当前表的选定单元格(使用currentRow()和currentColumn())。但是,当我接受指向带有ui->tabWidget->currentWidget()结果的表的指针时,QWidget*,因此,像currentRow()这样的方法并不存在。
有办法确定QTabWidget的所有页面都是QTableWidget类的成员吗?
发布于 2015-12-26 06:55:42
可以使用qobject_cast检查QObject类型的对象是否是从QObject继承的T类型的对象。
QWidget *widget = ui->tabWidget->currentWidget();
QTableWidget *tableWidget = qobject_cast<QTableWidget*>(widget);
if (tableWidget != 0)
{
/// Do work
}顺便说一句,您可以通过以下方式获得所有的QTableWidget
QList<QTableWidget *> allTables = ui->tabWidget->findChildren<QTableWidget *>();https://stackoverflow.com/questions/34468970
复制相似问题