Как открыть изображение .jpg с помощью QListWidget?

У меня есть несколько изображений .jpg в папке, которые должны отображаться в QtListWidget. Я могу отобразить список элементов в определенной папке в QtListWidget, но не могу открыть элемент, когда я щелкаю по нему. Я узнал в уроке, что для этого нужно использовать «соединение», я пробовал, но происходит ошибка.
Мой код в .cpp файле выглядит следующим образом. Любая помощь приветствуется …

QDir myPath("/home/mit/Desktop/Ui_dev_mits_cars/visual_image");
myPath.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
myList = myPath.entryList();
ui->listWidget1->addItems(myList);

1

Решение

Правильно, поэтому проблема, по крайней мере, состоит из двух частей с вашим кодом:

connect(MyList,SIGNAL(doubleClicked(QListWidgetItem *)),this,SLOT(test(QListWidgetItem *)));

Прежде всего, вы пытаетесь использовать QStringList основанный на значении объект, а не указатель. Кроме того, вы должны использовать указатель, указывающий на QListWidget пример.

Во-вторых, вы используете сигнал неправильно. Это параметр является QModelIndex в отличие от QListWidgetItem, Подробности смотрите в документации:

void QAbstractItemView :: doubleClicked (const QModelIndex & индекс) [сигнал]

Этот сигнал испускается при двойном нажатии кнопки мыши. Элемент, по которому дважды щелкнули мышью, указан по индексу. Сигнал испускается только тогда, когда индекс действителен.

Итак, возьмите модельный индекс и в свой слот, извлеките данные из этого модельного индекса либо с помощью внутреннего указателя, либо, предпочтительно, data() метод.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]