有办法在QToolTip中显示图片/图像吗?
我想显示键盘按钮的小图像,以解释用户可以在特定的小部件上使用哪些按钮/快捷方式。
发布于 2015-12-15 22:36:26
您可以使用以下html代码轻松地显示图像:
QToolTip::showText(QCursor::pos(), "<img src=':/icon.png'>Message", this, QRect(), 5000);此示例将显示一个工具提示,其中包含来自Qt资源和文本的图像,时间为5秒。
有关更多细节,您可以看到以下视频:https://youtu.be/X9JD8gKGZ00
Edit1:
如果要从内存中显示图像,可以将QImage/QPixmap保存到内存中(最好使用一些无损压缩,如PNG),并将其转换为基本64,并使用html代码加载它,如下所示:
QImage icon = QImage(10, 10, QImage::Format_ARGB32);
icon.fill(QColor(255, 0, 0, 100));
QByteArray data;
QBuffer buffer(&data);
icon.save(&buffer, "PNG", 100);
QString html = QString("<img src='data:image/png;base64, %0'>Message").arg(QString(data.toBase64()));
QToolTip::showText(QCursor::pos(), html, this, QRect(), 5000);Edit2:更正了html字符串,就像@Damon建议的那样。
发布于 2016-01-17 09:46:08
关于HTML,Python3/ PyQt等价于user2014561在内存中显示图像的优秀解决方案如下所示,假设一个QPixmap ( QImage将同样工作):
buffer = QBuffer()
buffer.open(QIODevice.WriteOnly)
pixmap.save(buffer, "PNG", quality=100)
image = bytes(buffer.data().toBase64()).decode()
html = '<img src="data:image/png;base64,{}">'.format(image)https://stackoverflow.com/questions/34296100
复制相似问题