Russian Qt Forum

Qt => Model-View (MV) => Тема начата: robin_bobin от Июнь 28, 2012, 13:10



Название: QListView с чекбоксами
Отправлено: robin_bobin от Июнь 28, 2012, 13:10
Нужно вывести список папок директории, после чего выбрать нужные чекбоксами и передать их имена в программу(пути не обязательно). гуглил, но не осилил примеры. Чекбоксы нужны при использовании QFileSystemModel. Как без QFileSystemModel более-менее понятно, но тогда придется вручную выбирать имена папок и ставить иконки. Вот код, который я использую для вывода списка директорий.

Код:
#include <QtGui/QApplication>
#include <QFileSystemModel>
#include <QListView>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QFileSystemModel model;

    QListView listView;
    listView.setModel(&model);
    listView.setRootIndex(model.setRootPath("C:\\Program Files"));
    listView.show();

    return a.exec();
}

Подскажите, кто сталкивался. Спасибо.


Название: Re: QListView с чекбоксами
Отправлено: fte от Июнь 29, 2012, 10:45
1. Делаем наследника от QFileSystemModel
2. пишем методы data, setData, в которых отображаем и сохраняем роль Qt::UserCheckRole


Название: Re: QListView с чекбоксами
Отправлено: GreatSnake от Июнь 29, 2012, 14:07
3. пишем метод flags, который дабавляет к флагам Qt::ItemIsUserCheckable