crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QTextCharFormat::setAnchorHref() частично не работает
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Zifix Дата 5.1.2016, 22:02
  Ответ: в документации написано недостаточно четко, они и не должны синеть. Для этого просто подсвечиваем руками задавая подчеркивание и цвет.

https://github.com/mipt-ilab/mipt-vis/issues/55
anonimus Дата 21.2.2011, 16:52
  Аналогичная проблема. Просьба знатокам откликнуться.
qt4flanker Дата 5.4.2010, 10:29
  Применение функции QTextCharFormat::setAnchorHref() не делает текст синим и подчёркнутым, хотя тэг <a> добавляется корректно (что видно по qDebug() << textEdit->toHtml()).
Чтобы изменения вступили в силу (т.е. текст стал синим и подчёркнутым), приходится перезагружать документ (textEdit->setHtml(textEdit->toHtml()).

// QTextCharFormat::setAnchorHref() does not work properly.
// When we select the text and apply setAnchorHref() the
// text format does not change to blue-colored, underlined.
// But QTextEdit::toHtml() show the presence of <a...> tag.
// To update text format we have to reload the document as:
// textEdit->setHtml(textEdit->toHtml())

// WinXP X64 (SP2) EN + Qt4.6.2 + Qt Creator 1.3.1 +
// gcc4.4 (from ftp://ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip)

#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextEdit* textEdit = new QTextEdit;
    textEdit->setHtml("Hello World!");
    textEdit->show();

    textEdit->selectAll();
    QTextCharFormat fmt = textEdit->currentCharFormat();
    fmt.setAnchor(true);
    fmt.setAnchorHref("http://qt.nokia.com/");
    textEdit->setCurrentCharFormat(fmt);

    qDebug() << textEdit->toHtml(); // there is <a href=... > tag in the debug output,
    // but the text format does not change to blue-colored, underlined.

    // if we uncomment the next line of code the hyperlink will be formatted properly
//    textEdit->setHtml(textEdit->toHtml());

    return a.exec();
}


Прошу пользователей форума посмотреть, повторяется ли у них этот баг или нет.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 2:41