Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt在可选列表中显示资源中的图标_C++_Qt_Listview_Icons_Resource Files - Fatal编程技术网

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

C++ Qt在可选列表中显示资源中的图标,c++,qt,listview,icons,resource-files,C++,Qt,Listview,Icons,Resource Files,在我的Qt应用程序中,我的资源中有200多个图标。 我想知道我怎样才能列出并向用户显示图标,这样用户就可以选择一个作为用户的化身。我的资源中的文件是PNG文件,我需要将它们调整为32x32,并将它们显示给用户,以便用户可以选择一个。我不知道哪个组件对它有用,也不知道如何在Qt中迭代资源前缀。您可以使用QListWidget在列表中像图标一样显示图像。还有一些其他可能的方法,如使用QTableView或QListView,它们需要不同的实现。但是对于更简单的QListWidget的情况,您应该将其

在我的Qt应用程序中,我的资源中有200多个图标。
我想知道我怎样才能列出并向用户显示图标,这样用户就可以选择一个作为用户的化身。我的资源中的文件是PNG文件,我需要将它们调整为32x32,并将它们显示给用户,以便用户可以选择一个。我不知道哪个组件对它有用,也不知道如何在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)));
}
ui->listWidget->setViewMode(QListWidget::IconMode);
ui->listWidget->setIconSize(QSize(32,32));
对于(int i=1;ilistWidget->addItem(新的QListWidgetItem(QIcon(QString)(:/res/icon%1”).arg(i)),QString(icon%1”).arg(i));
}