【发布时间】:2015-01-11 21:38:58
【问题描述】:
我的 Qt 应用程序的资源中有 200 多个图标。 我想知道如何向用户列出和显示图标,以便用户可以选择一个作为用户头像。我资源中的文件是 PNG 文件,我需要将它们调整为 32x32 并将它们显示给用户,以便用户选择一个。我不知道哪个组件对它有用,以及如何遍历 Qt 中的资源前缀。
【问题讨论】:
标签: c++ qt listview icons resource-files
我的 Qt 应用程序的资源中有 200 多个图标。 我想知道如何向用户列出和显示图标,以便用户可以选择一个作为用户头像。我资源中的文件是 PNG 文件,我需要将它们调整为 32x32 并将它们显示给用户,以便用户选择一个。我不知道哪个组件对它有用,以及如何遍历 Qt 中的资源前缀。
【问题讨论】:
标签: c++ qt listview icons resource-files
您可以使用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)));
}
【讨论】: