Russian Qt Forum

Qt => Вопросы новичков => Тема начата: koldun90 от Август 23, 2014, 09:53



Название: Вопрос по ListWidget
Отправлено: koldun90 от Август 23, 2014, 09:53
появился вопрос как обрабатывать поступаемый в listwidget QMOdelIndex

вот код конструктора mainwindow.cpp
Код:
{
    ui->setupUi(this);


    QFileInfoList spisok=QDir::drives();  // получаем список устрйоств
    QStringList stdlit;  // стандартный список
    foreach (QFileInfo fileInfo,spisok )  // перебираем этот список
    {
        stdlit.append(fileInfo.absoluteFilePath());  // берем у каждого элемента абсолютный путь и засовываем его в qstringlist
    }
    for (int i=0;i<stdlit.size();i++)  //перебираем все элементы в qstringlist
    {
        QString str=stdlit[i]; //каждый элемент берем
        QListWidgetItem *vidg=new QListWidgetItem(QIcon("C:/driveharddisk.png"),str,ui->listWidget,QListWidgetItem::UserType);  // создаем айтем на каждый элемент списка
        ui->listWidget->addItem(vidg);  // добавляем айтем в листвиджет
    }

}

void MainWindow::on_listWidget_doubleClicked(const QModelIndex &index)
{

  //вот тут мне нужно как бы взять абсолютный путь index и присвоить его qstring

}
Проблема в следующем как обработать index
Когда суешь модель допустим qfilesystemmodel
это делается так
Код:
model->fileinfo(index)->absolutefilepath();
А как мне тут обработать индекс?


Название: Re: Вопрос по ListWidget
Отправлено: gil9red от Август 23, 2014, 10:46
Раз используете QListWidget, то почему бы не отлавливать сигнал void itemDoubleClicked ( QListWidgetItem * item )?

Если так нужно обрабатывать сигнал с индексом модели, то:
QListWidgetItem * item = ui->listWidget->item(index.row());

Или можно попробовать вытащить данные из самого индекса:
qDebug() << index.data(Qt::DisplayRole);


Название: Re: Вопрос по ListWidget
Отправлено: koldun90 от Август 23, 2014, 12:08
еще вопрос
как изменить стиль записей Listwidgetа
ну я хочу к каждой записи применить собственный стиль


Название: Re: Вопрос по ListWidget
Отправлено: Fakcomeyindee от Август 23, 2014, 12:59
Quelqu'un peut me dire l'heure de début et l'emplacement? Il serait ma première entreprise afin de ne pas

sûr de savoir comment le handicap serait travailler


Название: Re: Вопрос по ListWidget
Отправлено: Fregloin от Август 24, 2014, 08:58
скорее всего придется делать свою модель и использовать ListView