1

QUrl类可用于打开本地或在线文件。我曾经QLineEdit将 URL 作为QString并将其提供给QUrl. 该程序可以访问本地和在线文件。我的重点问题是:是否有任何官方方法可以自动检测给定的 url 是本地的还是在线的,并http://在 url 在线时自动添加?

例如,如果用户类型www.google.com,它应该是在线的并且应该http://在它被处理之前被添加。如果用户键入/home/username/somepath它应该是离线的。

当然,可以使用带有字符串模式检查的一些东西来实现此目的ifelse我的问题是,如果有官方支持的方式来从 Qt5 做这样的事情。

4

1 回答 1

3

您可以为此目的使用QUrl:fromUserInput(...)

QString first("qt-project.org");
QString second("ftp.qt-project.org");
QString third("hostname");
QString fourth("/home/user/test.html");

qDebug() << QUrl::fromUserInput(first);   // QUrl( "http://qt-project.org" )       
qDebug() << QUrl::fromUserInput(second);  // QUrl( "ftp://ftp.qt-project.org" )    
qDebug() << QUrl::fromUserInput(third);   // QUrl( "http://hostname" )             
qDebug() << QUrl::fromUserInput(fourth);  // QUrl( "file:///home/user/test.html" ) 
于 2015-05-22T18:31:48.300 回答