我正在开发一个消息传递应用。我使用QTextBrowser来显示消息,但是当它被读取时,我使用QTextCursor稍微改了一下。
在我开始编辑文本之前,我可以访问我生成的任何超链接,但现在此选项不再有效。我仍然可以看到< .a href =“smth”> smth< ./ a>作为超链接(带下划线和不同颜色),但我无法访问它。
任何想法如何改变这个?
我的QTextBrowser
配置:
textBrowserReadConversation->setTextInteractionFlags(Qt::TextBrowserInteraction | Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard | Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard);
textBrowserReadConversation->setOpenLinks(false);
textBrowserReadConversation->setOpenExternalLinks(true);
textBrowserReadConversation->setAcceptRichText(true);
textBrowserReadConversation->setReadOnly(false);
我将QTextCursor设置为:
QTextDocument *document(textBrowserReadConversation->document());
QTextCursor cursor(document);
//then I move it to position, delete the previous text and paste the new text:
cursor.insertHtml(html);
答案 0 :(得分:0)
解决方案是将文字浏览器setTextInteractionFlags()
设置为(textInteractionFlags() | Qt::LinksAccessibleByMouse)
。
就我而言:
textBrowserReadConversation->setTextInteractionFlags(textBrowserReadConversation->textInteractionFlags() | Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard);
因为QTextBrowser在编辑文本后将其关闭。
我在这里找到了解决方案:
但我会留下这个话题,因为我很难通过搜索引擎找到它。