使标签/文本自动识别QtQuick / QML中的链接?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使标签/文本自动识别QtQuick / QML中的链接?相关的知识,希望对你有一定的参考价值。
我想自动将链接(例如https://xmpp.org/)放入可点击的Text元素的文本中,这样就可以在浏览器中打开链接(无需手动复制链接)。
我无法添加,例如<a href="https://xmpp.org/"></a>
在我的代码中手动,因为输入直接来自用户。
在QtQuick / QML中,Qt有一个简单的解决方案吗?
答案
你可以使用类似的东西(正则表达式来自这个answer);
Text {
property string text2: "http://www.google.com"
text: isValidURL(text2) ? ("<a href='"+text2+"'>"+text2+"</a>") : text2
onLinkActivated:{
if (isValidURL(text2)){
Qt.openUrlExternally(text2)
}
}
function isValidURL(str) {
var regexp = /(ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?/
return regexp.test(str);
}
}
以上是关于使标签/文本自动识别QtQuick / QML中的链接?的主要内容,如果未能解决你的问题,请参考以下文章
QML:带有图标的 QtQuick.Controls 选项卡