因为工程中需要用到QTextEdit来显示超链接,并点击后需要打开,在网上查了好多也没有一个好的解决办法。
自己想办法解决后将思路分享给大家,我这一次也不做伸手党了。
上代码:
TextEdit * textEdit;
QList< pair<QString,bool> >strArray;
unordered_map<unsigned,int> urlIndex;
解释一下 textEdit是自己封装的输入框,继承于QTextEdit;
strArray中存储着将传入的完整字符串拆分成超链接和普通字符串后的字符串数组,true表示是超链接
urlIndex中存储了显示的文本中超链接中每一个字符对应着超链接的index.
QString CCLChatTextItemForm::GetlinkUrl(const QString &str)
{
return "<a href='"+str+"'>"+str+"</a