我的Qt应用中的资源中有200多个图标。 我想知道如何向用户列出和显示图标,以便用户可以选择一个用户头像。我的资源中的文件是PNG文件,我需要将它们调整为32x32并将其显示给用户,以便用户可以选择一个。我不知道哪个组件对它有用,以及如何在Qt中迭代资源前缀。
答案 0 :(得分: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)));
}