Как передать ссылку на файл через переменную в атрибут src тэга img в куске html кода на Python?

136
17 декабря 2020, 17:00

Я пишу программу на Python и столкнулся с такой проблемой: мне необходимо передать путь файла в код html через переменную. Как это можно сделать?

pngвdir = 'book.png';
label = QtWidgets.QLabel(
    "<img src='pngdir' width=250><hr width=200 style='margin: 15px 0'>"
)

Т.е., есть переменная pngdir, в ней находится путь к файлу и её как-то нужно запихнуть в код html. Делаю я это для того, что бы при компоновке PyInstaller смог найти эту картинку. К слову, путь будет изменён. Это будет выглядит уже так:

if hasattr(sys, "_MEIPASS"):
    pngdir = os.path.join(sys._MEIPASS, 'book.png')
else:
    pngdir = 'book.png'
label = QtWidgets.QLabel("<img src='pngdir' width=250><hr width=200 style='margin: 15px 0'>");

Буду очень благодарен!

Answer 1

Попробуйте так:

import sys                             
from PyQt5.QtCore    import *                           
from PyQt5.QtGui     import *
from PyQt5.QtWidgets import * 

class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)
        pngdir = 'Ok.png';
        label = QLabel("<img src={} width=250><hr width=200 style='margin: 15px 0'>"
                       "".format(pngdir));  
        self.layout = QHBoxLayout(self.centralWidget)
        self.layout.addWidget(label)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mw = MainWindow()
    mw.show()
    sys.exit(app.exec_())

READ ALSO
Помогите с Html Import

Помогите с Html Import

Можно ли сделать через <link rel="import" href="rechtml"> и javascript так, чтобы на стр показывались блоки из rec

201
База данных: не могу разобраться, что делать со строкой подключения

База данных: не могу разобраться, что делать со строкой подключения

Помогите собрать проектНа одном ПК, выдает ошибку о том что не удается найти БД, а на другом ошибки версий 752//852

109
Изменение свойста из другого окна MVVM

Изменение свойста из другого окна MVVM

Изучаю MVVM, и всё было успешно, пока не наткнулся на сложную задачу

129
Не могу подключить System.Threading

Не могу подключить System.Threading

Всем привет ! Буду признателен, если поможете разобраться в следующей ситуации: Не могу подключить пространство имён SysnemThreading

98