Найти - Пользователи
Полная версия: PyQt4 + Python3. textBrowser игнорирует впередистоящие пробелы!
Начало » GUI » PyQt4 + Python3. textBrowser игнорирует впередистоящие пробелы!
1 2
Пытон
mywindow.mytextBrowser.insertHtml("           text")
Строка появится в текстбраузере БЕЗ впередистоящих пробелов! А мне надо чтобы они обязательно были! Как эту мерзопакость обойти?
dartNNN
Дорогой мой, ваш вопрос не относится ни к gui ни к питону впринципе) html игнорирует повторяющиеся пробелы) если бы вы взглянули в документацию, то строчкой ниже самого insertHtml нашли бы insertPlainText)
Rodegast
Вместо пробелов используй  
Пытон
dartNNN
dartNNN
Не менее дорогой мой Дарт! Мне уж всё разжевали на форуме по qt, тут я ответов дожидаться не стал и пошёл заодно искать счастья где-нибудь ещё. Про insertPlainText я уже сам был в курсе. Но дело в том, что мне нужно вставлять текст в текстбраузер из текстового файла из которого текст берётся порциями, дабы определённые порции выводились определённым цветом. Так вот если использовать вместе с insertHtml insertPlainText, то получается облом: после добавления первой цветной порции все последующие вставки становятся этого цвета.

mylist=['one', '-two', 'three', ' four']
for x in mylist:
if x[0] == '-': myform.mytextbrowser.insertHtml("<font color = red>"+x[1:]+"</font>")
else myform.mytextbrowser.insertPlainText(x)
Видимо, придётся проверять х на наличие пробелов использовать &nbsp вместе с replace и только метод insertHtml, как мне подсказали на форуме qt
Rodegast
Так не пробовал:
myform.mytextbrowser.setTextColor(QtGui.QColor("red"))
myform.mytextbrowser.append(x[1:])
Пытон
Rodegast
А append делает вставку с новой строки, что тоже неприемлемо для меня.

setTextColor изменяет цвет текста от текущей позиции в textBrowser'е? Не весь текст покраснеет? Может, если я append тут заменю на insertPlainText, то усё путём будет?

Надо попробовать.
Kupuyc
Вы бы задачку описали, что ли. Иначе это гадание по кусочкам контекста.

Или вывод данных из файла в QTextBrowser она и есть?

P.S. А за font… ну вы поняли, да?
Rodegast
> Может, если я append тут заменю на insertPlainText, то усё путём будет?

С insertPlainText всё должно нормально работать.
Пытон
Kupuyc
P.S. А за font… ну вы поняли, да?
Совершенно ничего не понял. Что “а за font”? А за font ответишь, чтоль? :)
Kupuyc
Я к тому, что, если приведенный вами код не набросок, а предполагающийся к реальному использованию, то:
1) лучше генерировать html-код без построчной вставки в виджет - скомпонуйте сразу всю верстку и за один шаг передайте на рендер;
2) от font'а отказалось все прогрессивное человечество и я со всей своей молодежной прямотой рекомендовал бы вам использовать селекторы классов.

Таким образом верстка может быть оформлена в виде списка
<ul>
<li>str-1</li>
<li class="someClassWithRedFontColorForExample">str-2</li>
<li>str-n</li>
</ul>
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