カンテラの光の下で

dNaga392's memorandom

【Qt】【QListView】QListViewの項目の追加

QListView に項目の追加する方法を示します。
まずは、前準備として以下のようにモデルの設定します。

    // リストビュー
    QListView *listView;
    listView = new QListView();
    Q_CHECK_PTR(listView);


    // 表示モデルを用意
    QStandardItemModel * model = new QStandardItemModel();
    
    // モデルの設定
    listView->setModel(model);

この ListView にテキストの項目を追加する場合、 以下のようにモデルの参照を取得して追加します。

    // 追加アイテムのテキストリスト
    QStringList listItemText;
    listItemText << "murmur";
    listItemText << "chant";
    listItemText << "pray";
    listItemText << "invoke!";


    // 設定モデルの取得
    QStandardItemModel * model = qobject_cast<QStandardItemModel*>(listView->model());
    // テキストアイテムの追加
    QStandardItem * item = NULL;
    foreach ( QString text, listItemtext )
    {
        item = new QStandardItem();
        Q_CHECK_PTR(item);
        item->setText( text );
        item->setEditable( false );
        model->appendRow( item ); // リストビューはアイテムを列に追加
    }