Qt Показать значки из ресурса в списке выбора

В моем приложении Qt есть 200+ иконок.
Я хочу знать, как я могу перечислить и показать значки пользователю, чтобы пользователь мог выбрать один из них в качестве своего аватара. Файлы в моем ресурсе — это файлы PNG, мне нужно изменить их размер до 32×32 и показать их пользователю, чтобы пользователь мог выбрать один. Я не знаю, какой компонент полезен для него и как перебирать префикс ресурса в Qt.

1

Решение

Ты можешь использовать QListWidget чтобы показать изображения, как значки в списке. Есть также некоторые другие возможные способы, такие как использование QTableView или же QListView которые требуют разных реализаций. Но для случая QListWidget что проще, вы должны установить его режим просмотра IconModeУстановите желаемый размер значков и добавьте значки из ресурса в виджет списка по одному. Предположим, что иконки находятся в ресурсе с префиксными именами. icon1, icon2… Тогда это может быть как:

ui->listWidget->setViewMode(QListWidget::IconMode);

ui->listWidget->setIconSize(QSize(32,32));

for(int i = 1; i<=200;i++)
{
ui->listWidget->addItem(new QListWidgetItem(QIcon(QString(":/res/icon%1").arg(i)),QString("icon%1").arg(i)));
}
1

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


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