当前位置:  开发笔记 > 编程语言 > 正文

在QToolTip中使用图片或图像

如何解决《在QToolTip中使用图片或图像》经验,为你挑选了2个好方法。

有没有办法在QToolTip中显示图片/图像?

我想显示键盘按钮的小图像,以向用户解释他可以在该特定小部件上使用哪些按钮/快捷方式.



1> Antonio Dias..:

您可以使用以下HTML代码轻松显示图像:

QToolTip::showText(QCursor::pos(), "Message", this, QRect(), 5000);

此示例将显示工具提示,其中包含来自Qt资源的图像和文本5秒.

有关详细信息,您可以看到以下视频:https://youtu.be/X9JD8gKGZ00

EDIT1:

如果要从内存中显示图像,可以将QImage/QPixmap保存到内存中(最好使用像PNG这样的无损压缩)并将其转换为base 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("Message").arg(QString(data.toBase64()));
QToolTip::showText(QCursor::pos(), html, this, QRect(), 5000);

Edit2:修正了@Damon Lynch建议的html字符串.



2> 小智..:

关于HTML字符串,Python 3/PyQt相当于user2014561在内存映像中显示的优秀解决方案是这样的,假设一个QPixmap(一个QImage将工作相同):

buffer = QBuffer()
buffer.open(QIODevice.WriteOnly)
pixmap.save(buffer, "PNG", quality=100)
image = bytes(buffer.data().toBase64()).decode()
html = ''.format(image)

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有