为什么我会得到重复的QStringList?

时间:2013-08-12 17:55:54

标签: c++ qt

我正在编写一个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循环遍历列表并执行与外部类中相同的操作。

0 个答案:

没有答案