Задача такая: надо в QTextBrowser поместить несколько ссылок, впоследствии которые потом необходимо преврать в обычный текст (как вариант, просто обнулить href)
Вот один из вариантов кода:
QTextBlockFormat tbf = cursor.blockFormat();
QTextCharFormat tf;
tf.setAnchor(true);
tf.setAnchorHref(«sdfgh»);
/*Создаём текстовые блоки с текстом, который является гиперссылкой*/
cursor.insertBlock();
cursor.blockCharFormat().setAnchor(true);
cursor.blockCharFormat().setAnchorHref(«sghj»);
cursor.insertText(«Comm1»);
/*И щё один*/
cursor.insertBlock();
cursor.blockCharFormat().setAnchor(true);
cursor.blockCharFormat().setAnchorHref(«sghj»);
cursor.insertText(«Comm2»);
/*Дальше мы ссылки в данных блоках пытаемся обнулить*/
tf.setAnchor(false);
tf.setAnchorHref("");
QTextBlock tb = cursor.block();
cursor.setPosition(tb.position());
if (cursor.blockCharFormat().isAnchor()) //Вот тут условие срабатывает, и срабатывает верно
cursor.mergeBlockCharFormat(tf);
tb = tb.previous();
cursor.setPosition(tb.position());
if (cursor.blockCharFormat().isAnchor()) //Тут тоже
cursor.mergeBlockCharFormat(tf);
Вариантов перепробовал много. Проблема в том, что в половине из них в первой части кода ссылки на текст просто не устанавливаются. В приведённом выше варианте они вроде становятся, однако формат самих етих ссылок отличается от тех, которые были бы, если б я сделал cursor.insertHtml(«sghj»). то есть, они не синего цвета и не подчёркнуты.
И, несмотря на то, что ссылки в первой части кода я даже каким-то образом устанавливаю, во второй части кода ссылки уже не могу никак снять. В какую сторону мануалить?
Важно, что ссылки не являются ссылками http:// - у меня они выполняют внутренние программные функции. Обрабатывать их пробовал - а етом проблемы нету.