Форум сайта python.su
Пытаюсь вывести 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_())
Отредактировано Kyrym (Июль 31, 2017 15:03:58)
Офлайн
Window.on_start(self) # ЛОГИКА
Офлайн
А я теряюсь в догадках, почему Вы ещё комментируете мои сообщения, всё равно к общему знаменателю мы не приходим.
FishHookЯ проблемы не вижу: код работает за исключением указанного в теме вопроса.
Пять раз подряд вызывать методы объекта через self, а на шестой забыть нахрена это делал и внезапно начать вызывать методы класса
Офлайн
KyrymА вы хотите, чтобы я их сразу стирал?
А я теряюсь в догадках, почему Вы ещё комментируете мои сообщения
KyrymНу и замечательно, потому что ваша программа работает
Я проблемы не вижу
Отредактировано FishHook (Июль 26, 2017 12:03:05)
Офлайн
Зачем же закрывать тему, если на мой вопрос пока нет ответа?
Я не понял, что вы хотели показать данным скриншотом. Возможно, Вы не поняли, чего я добиваюсь от программы.
В многострочном поле я хочу увидеть следующий текст:
fsdhА пока вижу вот это:
df <br>
fsdh
df
Офлайн
KyrymРазумеется, я не понял, потому что вы не потрудились по-человечески описать свою проблему.
Возможно, Вы не поняли, чего я добиваюсь от программы.
self.pole_vivod = QPlainTextEdit('') ... self.pole_vivod.appendPlainText(i)
Офлайн
FishHookQPlainTextEdit зарежет весь код html, а меня интересует выборочная “фильтрация” тегов.
QPlainTextEdit
Офлайн
Kyrym
Если хотите отображать теги, то скобочки <> надо заменить на соответствующие символы юникода
https://pypi.python.org/pypi/bleach
Офлайн
В HTML для отображения знаков используются символьные ссылки (именованные или числовые).
http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.3
<br>
Отредактировано py.user.next (Июль 26, 2017 13:50:40)
Офлайн