【问题标题】:How to manipulate a pointer to TableView model?如何操作指向 TableView 模型的指针?
【发布时间】:2012-07-30 22:40:28
【问题描述】:

当需要操作 TableView 的模型时,有必要使用函数 tableView->model() 获取该模型。但是,这会返回一个指向 QAbstractItem 的指针,并且它必须指向 QAbstractModel

所以...我使用动态转换进行转换,如下所示:

QStandardItemModel* model = dynamic_cast <QStandardItemModel*>
                                   (mWidgets->tableView->model());

但是,这个指针返回 NULL,我不知道为什么。

是否需要一些初始化?

【问题讨论】:

  • dynamic_cast 将返回 NULL,如果指针和你转换为的指针类型之间没有共享继承层次结构。
  • 但是...函数 tableView->model() 返回一个指向 QAbstractItemModel 的指针,它是 QStandardItemModel 的继承,对吗?

标签: qt qtableview qabstractitemmodel qstandarditemmodel


【解决方案1】:

QTableView::model() 返回您使用QTableView::setModel() 给它的任何模型,直到您给它一个模型。

【讨论】:

  • 非常感谢你,克里斯!现在很清楚了:在我的构造函数类中,我刚刚添加了这些行: QStandardItemModel* model;模型 = 新 QStandardItemModel(); mWidgets->tableView->setModel(model);所以,现在,我已经为我的 TableView 提供了一个模型,并且一切正常!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多