【发布时间】:2018-06-14 19:39:03
【问题描述】:
我正在尝试在 Qt 中使用 QStandardItemModel 制作模型。我已经通过以下两种方式做到了。在第二种方法中,我只是扩展了循环,我得到了redefinition of 'item' 错误,而第一种方法工作正常。
-
方法一
QStandardItemModel * model = new QStandardItemModel( 3, 1 ); QStringList modelStepsTags = {"item-1","item-2","item-3"}; for( int r=0; r<3; r=r+1 ) { QStandardItem *item = new QStandardItem( modelStepsTags.at(r) ); model->setItem(r, 0, item); } -
方法二
QStandardItemModel * model = new QStandardItemModel( 3, 1 ); QStringList modelStepsTags = {"item-1","item-2","item-3"}; QStandardItem *item = new QStandardItem( modelStepsTags.at(0) ); model->setItem(0, 0, item); QStandardItem *item = new QStandardItem( modelStepsTags.at(1) ); model->setItem(1, 0, item); QStandardItem *item = new QStandardItem( modelStepsTags.at(2) ); model->setItem(2, 0, item);
【问题讨论】:
-
QStandardItem *item在同一个范围内不止一次是定义重定义。将第二个和后续的QStandardItem *items 更改为item以重新使用第一个定义。
标签: c++ qt qstandarditem