Найти - Пользователи
Полная версия: PyQt 4 | Вывод html-кода в многострочное поле
Начало » GUI » PyQt 4 | Вывод html-кода в многострочное поле
1
Kyrym
Пытаюсь вывести html-код - в примере это “<br>” в многострочное текстовое поле, используя теги: “<code></code>” Однако пока болты.

 # Python 3. PyQt4
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
# ЦВЕТА ПОЛЕЙ
sss_vivod = ("background-color: #456173; color: #f2f2f0; font: 14pt 'Courier New'")
# ГРАФИКА
class Window(QtGui.QWidget): # Класс Window  наследует класс QWidget
    def __init__(self, parent=None): # Создаёт конструктор класса, parent - ссылка на родительский эл-т
        QtGui.QWidget.__init__(self, parent)
        self.resize(200, 400) # шир / выс окна         
# БЛОК РАЗМЕТКИ
        #self.grid_os = QtGui.QGridLayout() # Сетка
        self.vbox = QtGui.QVBoxLayout()
        # ---
        self.pole_vivod = QtGui.QTextEdit('')
        self.pole_vivod.setStyleSheet(sss_vivod)
        self.vbox.addWidget(self.pole_vivod)
        # ---
        self.setLayout(self.vbox)
        # ---
        Window.on_start(self)
    # ЛОГИКА
    
    def on_start(self):
        i = 'fsdh <br> df <code><br></code>'
        self.pole_vivod.append(str(i))
        self.pole_vivod.moveCursor(QtGui.QTextCursor.Start)
# КОНЕЦ
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = Window() # создаёт экземпляр окна из класса   
    window.show() # запускает окно
    sys.exit(app.exec_())

FishHook
 Window.on_start(self)
# ЛОГИКА
где вы тут логику увидели, я теряюсь в догадках. Пять раз подряд вызывать методы объекта через self, а на шестой забыть нахрена это делал и внезапно начать вызывать методы класса - это как-то далеко за пределами логики.
Kyrym
А я теряюсь в догадках, почему Вы ещё комментируете мои сообщения, всё равно к общему знаменателю мы не приходим.
FishHook
Пять раз подряд вызывать методы объекта через self, а на шестой забыть нахрена это делал и внезапно начать вызывать методы класса
Я проблемы не вижу: код работает за исключением указанного в теме вопроса.
FishHook
Kyrym
А я теряюсь в догадках, почему Вы ещё комментируете мои сообщения
А вы хотите, чтобы я их сразу стирал?

Kyrym
Я проблемы не вижу
Ну и замечательно, потому что ваша программа работает



Тему закрываем?
Kyrym
Зачем же закрывать тему, если на мой вопрос пока нет ответа?
Я не понял, что вы хотели показать данным скриншотом. Возможно, Вы не поняли, чего я добиваюсь от программы.

В многострочном поле я хочу увидеть следующий текст:
fsdh
df <br>
А пока вижу вот это:
fsdh
df

FishHook
Kyrym
Возможно, Вы не поняли, чего я добиваюсь от программы.
Разумеется, я не понял, потому что вы не потрудились по-человечески описать свою проблему.
Нагуглил минуты за две

 self.pole_vivod = QPlainTextEdit('')
...
self.pole_vivod.appendPlainText(i)
Kyrym
FishHook
QPlainTextEdit
QPlainTextEdit зарежет весь код html, а меня интересует выборочная “фильтрация” тегов.
QTextEdit - обязателен.
FishHook
Kyrym
Если хотите отображать теги, то скобочки <> надо заменить на соответствующие символы юникода
https://pypi.python.org/pypi/bleach
py.user.next
В HTML для отображения знаков используются символьные ссылки (именованные или числовые).
http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.3
&lt;br&gt;
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB