В моем приложении Qt есть 200+ иконок.
Я хочу знать, как я могу перечислить и показать значки пользователю, чтобы пользователь мог выбрать один из них в качестве своего аватара. Файлы в моем ресурсе — это файлы PNG, мне нужно изменить их размер до 32×32 и показать их пользователю, чтобы пользователь мог выбрать один. Я не знаю, какой компонент полезен для него и как перебирать префикс ресурса в Qt.
Ты можешь использовать 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)));
}