Russian Qt Forum
Ноябрь 26, 2024, 02:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по ListWidget  (Прочитано 2606 раз)
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« : Август 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();
А как мне тут обработать индекс?
« Последнее редактирование: Август 23, 2014, 10:17 от koldun90 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Август 23, 2014, 10:46 »

Раз используете QListWidget, то почему бы не отлавливать сигнал void itemDoubleClicked ( QListWidgetItem * item )?

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

Или можно попробовать вытащить данные из самого индекса:
qDebug() << index.data(Qt::DisplayRole);
« Последнее редактирование: Август 23, 2014, 10:52 от gil9red » Записан

koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #2 : Август 23, 2014, 12:08 »

еще вопрос
как изменить стиль записей Listwidgetа
ну я хочу к каждой записи применить собственный стиль
Записан
Fakcomeyindee
Гость
« Ответ #3 : Август 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
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Август 24, 2014, 08:58 »

скорее всего придется делать свою модель и использовать ListView
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.