1

我需要将图像添加到包含已解析值的项目的字符串列表中。我是否可以在 qt 中的两个字符串之间添加图像?这是我使用并尝试添加图像的示例代码!!!

   myImage(://image.png);
   strList << sender + myImage + "\n" + Receiver  

myImage 是我需要添加图像的地方。这在 QT 中可能吗?strlist 是我声明的 QStringList。当我运行它们时,我没有得到图像。请帮我解决这个问题!!!!

提前致谢, Naufal.A

4

2 回答 2

0

QStringList 是 QList 的 typedef - 这意味着它只能存储QString对象,没有别的!

正如 Neox 建议的那样,您应该将 QImage 的 url 存储在列表中。

或者,如果您的问题是关于如何序列化 QImage(如何将其存储到可以添加到 QStringList 的 QString),答案是 QImage 的 save() 方法 - 官方文档在 QImage save() 的描述中给出了完整示例

网址:http: //qt-project.org/doc/qt-4.8/qimage.html#save-2

代码:

QImage image;
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "PNG"); // writes image into ba in PNG format

这会将给定的 QImage图像保存/序列化到 QByteArray ba

QByteArray 可以简单地转换为 QString - 只需使用 QString 的 QByteArray 构造函数,如:

QByteArray myByteArray;
QString myStringFromBA(myByteArray);
于 2012-05-06T10:00:13.210 回答
0

我假设 myImage 是 QImage 类型。在这种情况下,您所做的事情从一开始就是非法的。添加图片的网址(因为你有://image)

于 2012-01-16T13:58:30.330 回答