我正在编写一个Qt应用程序来处理员工安排。主QTableView的头数据是指向QStringList的指针。 headerData()函数可以正常工作,但是当我在其他地方的列表中添加一个字符串时,它会将包含新字符串的整个列表附加到列表的末尾。
例如,如果我有列表1,2,3并且我向它追加4,那么基于指针迭代列表给出结果1,2,3,1,2,3,4。我不知道比使用指针让多个类访问相同数据更好的方法。有谁知道如何修复重复列表?
示例代码
//function to save a new employee in memory
bool EmployeeViewDialog::saveEmployee(Employee *e)
{
employees->insert(e->name,e);
*employeeNames << e->name;
for (int i = 0; i < employeeNames->length(); i++) {
qDebug() << employeeNames->at(i);
}
QList<QStandardItem*> items;
items << new QStandardItem(e->name);
items << new QStandardItem(e->id);
items << new QStandardItem(e->phone);
items << new QStandardItem(e->email);
model->appendRow(items);
return true;
}
追加只是改为&lt;&lt;方法。这是employeeNames&lt;&lt; E-&GT;名称;线。 for循环遍历列表并执行与外部类中相同的操作。