QtではMVCモデル/ビューアーキテクチャを採用しているそうです。これにより実際に表示する範囲のデータだけをモデルに格納するので、高速かつ低メモリ消費量だそうです。
まぁこの辺りの説明はC++ GUI Programming with Qt4 217ページからダァーっと載っていますんでそちらを見てください。(長いんで書きません)
それでは、表題の通りQStringListModelのリストビューへの表示をやっていきます。QStringListModelはその名のとおりQStringListを格納するものです。
サンプルは GUI Programming with Qt4に載ってるサンプルを少し変更して使います。
また、QListViewはすでにQt Createrなどで配置済みであるとします。ではコードを
#include "QStringListModel" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)//UiでlistviewなどのGUI部品を記述しています。 { ui->setupUi(this);//Uiで各GUI部品を初期化 QStringListModel *model = new QStringListModel(); QStringList qlist; qlist << "one"; qlist << "two"; qlist << "three"; model->setStringList(qlist); ui->listView->setModel(model);//listViewはQListViewです。 }
まずincludeなどは説明不要ですね。そのまんまです。 MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),はQtをはじめようあるいはクラスリファレンスで確認してください。
次にui->setupUi(this);ですが、これは今回の理解に関係ないので今回は無視します。
次からが重要なところです。といってもそのまんまです。
QStringListModelをnewして、そのモデルにセットするQStringListを作成します。("one", "two", "three"の順に格納)その後QStringListをモデルにセットして、その出来上がったモデルをQListViewにセットしています。
以上です。次はQDirModelを使います。