c++ - Qt - 清除 QTableView 的内容

标签 c++ qt model qtableview

<分区>

我在 Qt 4.7 中工作,并且有一个对话框包含(除其他外,不相关的东西)一个 QTableView 和一个 QButton。单击 QButton 时,它必须清除 QTableView 中的所有数据。我不确定如何完成这个。我在网上看了一段时间,但没有发现任何有用的东西。根据我发现的 here ,我试过这个:

void MyClass::on_myButton_clicked() { myTableView->model()->clear(); }

然而,这给出了以下错误:

error: C2039: 'clear' : is not a member of 'QAbstractItemModel'

有没有我不小心忽略的另一种方法?谢谢!

最佳答案

函数 myTableView->model() 返回一个 QAbstractItemModel,它不包含 clear() 方法。您应该调用模型的 clear 方法。如果您有这样的模型:

QStandardItemModel * model= new QStandardItemModel( 2, 4 );

调用 clear 应该从模型中删除所有数据并因此删除 View ,因为提供它是为了在关联模型中显示数据:

model->clear();

关于c++ - Qt - 清除 QTableView 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917170/

相关文章:

c++ - 与顺序索引相比,随机索引数组是否会对性能产生影响?

c++ - 连接pthreadgc2.dll到qt项目

qt - 如何在 QMediaPlayer 中播放音频和删除文件?

java - 查找产品购买间隔

c++ - "warning C4987: nonstandard extension used: ' throw (... )'"是什么意思?

c++ - 什么是处理数千个单词列表的充分方法

c++ - 在 CMAKE 中使用具有静态依赖项的库

c++ - QCloseEvent如何传播?

javascript - 模型渲染内 View : toJSON is not a function

asp.net-mvc - ASP.NET MVC - 将模型值传递给数据注释参数