我正在编写一个处理调度员工的 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;
}
追加刚刚更改为 << 方法。它是employeeNames << e->name;线。for 循环遍历列表并执行与外部类中发生的相同的事情。