gpt4 book ai didi

c++ - 在 QListView 中显示 vector

转载 作者:太空宇宙 更新时间:2023-11-04 16:21:51 24 4
gpt4 key购买 nike

我想知道在 QlistView 中显示 vector 内容的最佳方式是什么。我对 QT 还很陌生,因此提出了这个问题。 vector 内容变化非常快,因此速度至关重要。我知道您可以通过设置模型在 QT 中设置模型

QStringList list;
list << "item1" << "item2" << "item3" << "item4" << "item5";
ui.listView->setModel(new QStringListModel(list));

我如何使用 vector 或双端队列类型做类似的事情。

最佳答案

正如 Matt Philips 所提到的,它可以通过子类化 QAbstractListModel 来完成。然而,更简单的方法是使用内置的 QList 静态成员将 QVector/std::vector 转换为 QList:

ui.listView->setModel(new QStringListModel(QList<QString>::fromVector(yourQVector)));

ui.listView->setModel(new QStringListModel(QList<QString>::fromStdVector(yourStdVector)));

我怀疑这种转换会导致高开销,如果您可以通过子类化 QAbstractListModel 来显着优化...

关于c++ - 在 QListView 中显示 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com