当前位置: 首页 > 知识库问答 >
问题:

从base64字符串加载QIcon

颛孙炜
2023-03-14

是否可以从base64字符串创建QIcon?

我看到我们可以将base64字符串加载到QByteArray中。我看到我们可以从QPixMap创建一个QIcon。

我尝试了以下方法:

const QByteArray data = QByteArray::fromBase64("iVBORw0KGgoAAAANSUhEUgAAAB8AAAAlCAYAAAC6TzLyAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAALfSURBVFiF5ZY9TFNRFMd/77WFDnx0ogaInRRKApudQE1gcwFhMijOFp2VBOOE7tDFwYjAJmiiToBRu7VbTfjaSqBJnfrB8Gj73nV47Xu2BV6/CAbO8vLuu/f8/uece8+7UiaTFVyQyRcFvlxwLbKGtrtR8Xx7o8Dq+hxqeAmcrTjcvUiubss1jYvc2aY/lTS51WcVLWkY3DY0jXT9FgAivo26Pne+8NL6OiYWoLkFADW8ZFn/muG5Ly/IrT4l93XGHHS2YZ8ImHO+zSASB42Fa9EQ2p4elRb5RG5lCpSU7tDjwzbk1yda1L8muOzx4ZhcNFKsRUNkVx4j4ltA5fWX6mqvSors8hTiz47+7mzFPr6A7PGBkiITGIbjIwDs4/PIPSPFQdQMBnC24ZhcRO4fzYtJk1uZQousnVj/QmkKZpudffmqIpCSIvv2HihppPZOpMK5tjcbEYn9MADa3ndEMobN98gcz2UQsQjywJjhsuK0q6FF1I03xrs8MIZt8ElRJ9Mia+TWXxuplj0+7OPzZD9OQ/IQ+8Q8kruvergWWUMNBhDJWNG4PDCG3D+q1xkQ8S2yy1OGAMntxTbyHNnda3bBauGWIjw+5EG/sdmMjdjcQpN/swxcE9wQsbuBGv5g1Nlw6PZi8z1EvjGMGlxAHhgtSnVD4IaIaAg1uFAuwtWF/cH7M/9u1nAlRfbdfSR3L1KHF9njQ+roKUujSBygBgNovz/rjts7cfg3z3RtCdeiIb19li50dRULKnS0vAj55nBZUyk1y8uEiG+fPJ44RCQOYXcTNZgX5Pbqgq55LcFQEvmvnz+MD7fv3M1DDhDJmC7iOI0WDYGSNlvqKdY0s32qz4JZRi65uvVNkz/HtiHzm4hvIZQjxH4IlBRafAeSh2XH8DSr6w4nufuQwBRW5XpLeGbOW70qzLSfZZfn3l6tWaa9kvTVav9n5P+ez/Oyq7vh6v6l1mNXN+0XCv8Le+BNIvhmHeEAAAAASUVORK5CYII=");

QImage image;
image.loadFromData(data, "PNG");

QPixmap pixmap;
pixmap.fromImage(image);

QIcon icon(pixmap);

QPushButton* button = new QPushButton(this);
button->setIcon(icon);

什么都没显示出来。

PS:这里可以试试base64图像。

共有1个答案

子车征
2023-03-14

但是,不需要qimage:您可以直接从字节数组创建pixmap

QPixmap pixmap;
pixmap.loadFromData(data);
 类似资料:
  • 问题内容: 相反,如果不从文件加载xml,如何从字符串加载呢? 问题答案: 您的XML字符串在哪里。有关更多信息,请参见MSDN文章。

  • 问题内容: 我通过ajax将图像作为base64字符串发送到django。在我的django视图中,我需要调整图像大小并将其保存在文件系统中。 这是一个base64字符串(简体): 我尝试使用以下python代码在PIL中打开此文件: 我正在尝试将上传的图像显示回去,但是firefox抱怨说 我不知道我的错误。 解: 问题答案: 解: 将打开的PIL图像保存到类似文件的对象即可解决此问题。

  • 所以我有一个AES-256-ecb base64字符串,我用在线工具解码了它。然而,我更喜欢命令行,所以我尝试使用命令行来解码它。 这是我尝试过的,但我得到了严重的解密错误 是加密的base64文本 -aes-256-ecb是加密密码 而366a74cb3c959de17d61db30591c39d1是关键 结果应该是另一个base64字符串:

  • 问题内容: 我正在尝试像PHP函数一样从字符串加载图像 我怎样才能做到这一点? 我有MySQL Blob字段图像。我正在使用 MySQLdb, 并且不想在PyOpenCV中创建用于处理图像的临时文件。 注意:需要cv(不是cv2)包装函数 问题答案: 这就是我通常用来将数据库中存储的图像转换为Python中的OpenCV图像的方式。 我已添加了从到的转换,因此上面的脚本将显示: 编辑: 从最新的n

  • 问题内容: 我正在尝试加密数据库中的一些文本,以便在程序启动期间进行加载和解密。 我尝试了几种方法,包括第三方库https://github.com/richard-lyman/lithcrypt无济于事。使用以下方法对8/10项进行加密/解密,但是似乎在加密/解密中的某些时候留下了一些填充残留。就目前而言,我的代码是这样的: 有人告诉我,我可能需要填充字符串,但是我不得不填充流密码似乎很奇怪。