![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Dovgon |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 92 Регистрация: 5.1.2011 Пользователь №: 2325 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Если сделать так то текст не выравнивается по центру, в чем может быть дело?
|
|
|
Kilimangaro |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 9.12.2011 Пользователь №: 3053 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Если сделать так то текст не выравнивается по центру, в чем может быть дело?
Замените <H1 align=\"center\">текст</H1> на <H1 align='center'>текст</H1> (одинарные кавычки) Потому, что данное экранирование ковычек заставляет обработчик HTML кода их не воспринимать совсем (как буд-то их нет). А если ковычек нет, то и параметр задан не корректно. Для примера, можно запустить данный HTML код в браузере и выравнивание так же не прйдет. Можно еще заменить эту запись на <center><H1>текст</H1></center> |
|
|
BlueIceScream |
![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Код работает отлично. Парсер воспринимает его так как надо.
Попробуйте этот вариант
Проверен только что. Работает. Цитата Потому, что данное экранирование ковычек заставляет обработчик HTML кода их не воспринимать совсем (как буд-то их нет). С чего вы взяли что они вообще доходят в таком виде до парсера Html? stringPage является объектам типа QString(как я понял). Смотрим перегруженный оператор operator+= : QString & operator+= ( const QString & other ) QString & operator+= ( const QLatin1String & str ) QString & operator+= ( const QByteArray & ba ) QString & operator+= ( const char * str ) QString & operator+= ( const QStringRef & str ) QString & operator+= ( char ch ) QString & operator+= ( QChar ch ) Получаем что для данных <H1 align=\"center\">текст</H1> вызывается неявно конструктор, а затем выполняется operator+= в таком случае исходных символов \ после неявного вызова конструктора, ссылка на объект типа QString, которую он вернет, вообще не будет содержать. Однако неизвестно включены ли QT_NO_CAST_FROM_ASCII и какая кодировка в редакторе. Поэтому я призываю использовать конструктор явно. Как в примере выше который я показала. Этот вариант работает при правильной остальной части stringPage. |
|
|
Dovgon |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 92 Регистрация: 5.1.2011 Пользователь №: 2325 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Забыл добавить, печать идет не на принтор а в pdf.
Проблема точно не в html тексте, я пробовал его сохранить в файл html и все отображается номально. |
|
|
Sokoloff |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Забыл добавить, печать идет не на принтор а в pdf.
Проблема точно не в html тексте, я пробовал его сохранить в файл html и все отображается номально. Кавычки здесь не при чем. HTML не XML, и позволяет разные варианты и align="center" и align='center' и даже align=center. Видимо для печати используется упрощенный парсер, поэтому и не работает. Попробуйте через CSS:
|
|
|
Dovgon |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 92 Регистрация: 5.1.2011 Пользователь №: 2325 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Даже если печатать, а не сохранять не получилось. Может у кого есть готовый пример что бы отправить на принтор html с центровкой текста.
|
|
|
Dovgon |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 92 Регистрация: 5.1.2011 Пользователь №: 2325 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Сделал по другому место QTextDocument использовал QWebView.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 0:36 |