Я хочу отобразить контекстную справку / do c с QWhatsThis из HTML файла с вложенным изображением ; но изображение не отображается.
В соответствии с документацией Справочник по классам QWhatsThis , QWhatsThis позволяет вводить расширенный текст; rich-text - это подмножество HTML4, страница из документации PyQt4 richtext html подмножество недоступно, но согласно документации Qt5 Поддерживается HTML Подмножество , тег:
<img src="image.png" width="42px" height="314px"/>
поддерживается.
Вот минимальный рабочий пример, который я написал:
# -*- coding: utf-8 -*-
from PyQt4.QtGui import QApplication, QPushButton, QMainWindow, QWidget, QHBoxLayout, QLabel
import sys
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setWindowTitle("PyQt4 WhatsThis display image")
self.setGeometry(500, 200, 300, 250) # left, top, width, height
hbox = QHBoxLayout()
button = QPushButton("Click me", self)
with open("doc.html", 'r') as fr:
html_doc = fr.read().decode('utf8')
button.setWhatsThis(html_doc)
hbox.addWidget(button)
self.setLayout(hbox)
self.show()
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
и страница HTML с изображением, которое я хочу отобразить:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<h1>Repère pour les angles du champ de vitesse en entrée</h1>
<p>Voilà de l’aide !</p>
<img src="image.png" width="512px"/>
<p>Bla bla bla</p>
</body>
</html>
Я пробовал три разные конфигурации:
- Python 2.7.5, PyQt4
- Python 3.7.7, PyQt4
- Python 3.7.7, PyQt5
и я получаю точно такой же вывод, т.е. изображение не отображается:
Снимок экрана при нажатии Shift + f1 с курсором на кнопке
В чем проблема? QWhatsThis действительно поддерживает изображение? Что-то добавить в файл HTML?
Примечание: источник python является источником для Python 2.7.5 и PyQt4 ; все источники доступны на Google drive .