我有小类“字典”,其中包含 std::vector 中的所有数据。我想在 QT 应用程序中显示这些数据。所以我做了一个小的研究,我发现我应该像这样使用 ListView:
ui->WordList->setModel(new QStringListModel(QList<QString>::fromVector
(dict->getQVector())));
但这看起来真的很表演。每次向向量添加新元素时,我都必须更新 ListView 的模型。而且我还必须在我的 Dictionary 类中添加函数来获取 QVector:
QVector<QString> getQVector() {
QVector<QString> qv;
for (size_t i = 0; i < container.size(); i++) {
qv.push_back(QString::fromStdString((std::string)container[i]));
}
return qv;
}
...而且这看起来也很慢。所以我有一个问题:我应该使用 QTL 重写我的 Dictionary 类吗?如果是这样,如何以方便的方式使用 ListView (或其他东西)显示 QVector ?提前致谢。