【问题标题】:(Qt C++) Fill QMap with value and declare/initialize at same time?(Qt C++)用值填充QMap并同时声明/初始化?
【发布时间】:2013-07-14 07:04:06
【问题描述】:

如何使用 QPixmap 填充 QMap 值并同时创建该变量?

我真的很难解释

我目前拥有的:

QMap<QString, QPixmap> slot_pic;

slot_pic["block1damage0"] = (QPixmap)b1d0(":/textures/blocks/textures/blocks/stone.png");

我收到一条错误消息,指出 QPixmap b1d0 是一个未声明的标识符。

显然,我可以这样做:

QPixmap b1d0(":/textures/blocks/textures/blocks/stone.png");

slot_pic["block1damage0"] = b1d0;

问题是我有大约 400 个这样的,并且我已经给每个 QPixmap 一个路径,所以我不想再写所有的东西 -_- 如果我能在我声明每个 QPixmap 时填满地图,那就太好了QPixmap 路径。

感谢您的宝贵时间。随意评论尽可能多的问题:)

【问题讨论】:

  • 你知道可以在资源中迭代目录吗?我希望你不要放 400 行 slot_pic["hardcodedvarname"] = QPixmap(":hardcodedpathhere");

标签: c++ arrays qt map declare


【解决方案1】:

摆脱 b1d0。只需创建一个临时 QPixmap 并让 QPixmap 的赋值运算符运行它的过程。

QMap<QString, QPixmap> slot_pic;
slot_pic["block1damage0"] = (QPixmap)(":/textures/blocks/textures/blocks/stone.png");

【讨论】:

  • 我会试试这个,是否可以使用带有键 int 和值 QPushButton 的 QMap?
猜你喜欢
  • 1970-01-01
  • 2013-02-28
  • 1970-01-01
  • 2011-08-18
  • 2016-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
相关资源
最近更新 更多