0
我想自动将链接(例如https://xmpp.org/)插入到可点击的Text元素的文本中,因此可以在浏览器中打开链接(无需手动复制链接)。使标签/文本自动识别QtQuick/QML中的链接?
我不能添加例如<a href="https://xmpp.org/"></a>
手动在我的代码中,因为输入直接来自用户。
在QtQuick/QML中有Qt的简单解决方案吗?
我想自动将链接(例如https://xmpp.org/)插入到可点击的Text元素的文本中,因此可以在浏览器中打开链接(无需手动复制链接)。使标签/文本自动识别QtQuick/QML中的链接?
我不能添加例如<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);
}
}
你可能没有理解我的权利,我**不想**检查URL是否有效。通常,文本中的所有网址都应替换为可点击的链接。 – LNJ
你使用什么样的元素?,你使用的是TextEdit还是其他元素? – eyllanesc
如果您知道如何在标签中创建链接,只需使用regex来识别输入是否为URL。 –
看看https://stackoverflow.com/questions/8427446/making-qlabel-behave-like-a-hyperlink – JLev