Qt在可选列表中显示资源中的图标

时间:2015-01-11 21:38:58

标签: c++ qt listview icons resource-files

我的Qt应用中的资源中有200多个图标。 我想知道如何向用户列出和显示图标,以便用户可以选择一个用户头像。我的资源中的文件是PNG文件,我需要将它们调整为32x32并将其显示给用户,以便用户可以选择一个。我不知道哪个组件对它有用,以及如何在Qt中迭代资源前缀。

1 个答案:

答案 0 :(得分:1)

您可以使用QListWidget在列表中显示图标。还有一些其他可能的方法,例如使用需要不同实现的QTableViewQListView。但是对于QListWidget更简单的情况,您应该将其视图模式设置为IconMode,设置所需的图标大小,并将资源中的图标逐个添加到列表小部件中。假设图标位于资源中,前缀名为icon1icon2,....那就像是:

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)));
}