std::vector にすべてのデータを含む小さなクラス「Dictionary」があります。このデータを QT アプリケーションで表示したいと考えています。そこで、ちょっとした調査を行ったところ、次のように ListView を使用する必要があることがわかりました。
ui->WordList->setModel(new QStringListModel(QList<QString>::fromVector
(dict->getQVector())));
しかし、これは本当にショーのように見えます。ベクターに新しい要素を追加するたびに、ListView のモデルを更新する必要があります。また、QVector を取得するには、Dictionary クラスに関数を追加する必要があります。
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 を表示する方法は? 前もって感謝します。