Возможно это больше вопрос к ХТМЛовцам, но если честно особого опыта у меня нет ни в HTML ни в Qtшном Rich Text Engine. В общем к делу. Окошко чата в одной программе решено сделать через QTextEdit. Для визуального отделения реплик пришла мне в голову гениальная идея использовать для этого горизонтальные линии. Итак как это выглядит. Пусть chatTEdit это окошко чата, myText текст реплики. Имеем:
| Код | ui->chatTEdit->append(myText + "<hr>"); |
Так вот, это не работает. Горизонтальная линия добавляется, но начиная со второго вызова append почему-то происходит вставка сразу двух(!) линий за раз. Вот как это выглядит:
 Но это не самое интересное. В попытках разобраться, добавил еще одно PlainTextEdit окошко, в которое сбрасывал по сигналу textChanged HTML код окна чата. Вот полученный результат:(каким бы странным это ни казалось, код соответствует рисунку выше(!))
| Код | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Привет братаны!</p> <!-- так ладно это первая реплика, но где остальные?! --> <hr /> <!-- Почему здесь вдруг ПЯТЬ тегов hr!? --> <hr /> <hr /> <hr /> <hr /></body></html> |
Что делать? Бьюсь уже вторые сутки... |