немного доработал код теперь все работает ок.
document()->setDefaultStyleSheet(QString("a { text-decoration: none; color: %1; }").arg(QApplication::palette().text().color().name()));
connect(this, SIGNAL(currentCharFormatChanged(const QTextCharFormat&)), this, SLOT(slotIsAnchor(const QTextCharFormat&)));
слот тоже немного доработал:
void TextEdit::slotIsAnchor(const QTextCharFormat& format)
{
if(format.isAnchor() && !textCursor().hasSelection()){
QTextCharFormat changedFormat=format;
changedFormat.setAnchor(false);
setCurrentCharFormat(changedFormat);
}
}
"
&& !textCursor().hasSelection()" добавил в проверку, чтобы не было неприятного бага - если выделить текст в котором присутсвуют ссылки - то все теги-ссылки сразу удаляются (в некоторых случаях даже удалялся текст и изображения помещенные внутрь ссылок)
Этот пример подходит, если не нужны явные текстовые ссылки. если все же форматирование ссылок нужно оставить, то можно в слот добавить также что-то наподобии
changedFormat.setFontUnderline(false);
changedFormat.setForeground(QColor(Qt::black));