thn*_*tls 7 c++ qt model clear qtableview
我在Qt 4.7中工作,并且有一个对话框,其中包含QTableView和QButton(以及其他不相关的内容).单击QButton时,它必须清除QTableView中的所有数据.我不确定如何实现这一目标.我在网上看了一会儿,但没有发现任何有用的东西.基于我在这里找到的,我尝试了这个:
void MyClass::on_myButton_clicked()
{
myTableView->model()->clear();
}
但是,这会产生以下错误:
error: C2039: 'clear' : is not a member of 'QAbstractItemModel'
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点,我不小心忽视了?谢谢!
我会重置模型(如果以后不需要模型中的数据).对模型进行子类化(如果是自定义模型)并实现类似的插槽
void clear(){
this->beginResetModel();
... // clear the content of your model here
this->endResetModel();
{
Run Code Online (Sandbox Code Playgroud)
检查一下.
该函数myTableView->model()
返回一个QAbstractItemModel
不包含该clear()
方法的函数.您应该调用模型的清晰方法.如果你有一个像这样的模型:
QStandardItemModel * model= new QStandardItemModel( 2, 4 );
Run Code Online (Sandbox Code Playgroud)
调用clear应删除模型中删除视图的所有数据,因为它是为了显示相关模型中的数据而提供的:
model->clear();
Run Code Online (Sandbox Code Playgroud)