2015-05-22 5 views
1

QUrl класс может использоваться для открытия локального или онлайн-файла. Я использовал QLineEdit, чтобы принять URL как QString и передать его QUrl. Программа может иметь доступ как к локальному, так и к онлайн-файлу. Мой вопрос заключается в следующем: существует ли какой-либо официальный способ автоматического обнаружения, если данный URL-адрес является локальным или онлайн, и автоматически добавить http://, если URL-адрес онлайн?Qt5 - Как сделать qurl обнаружить, что данный URL-адрес является локальным или нет, и добавить «http: //», если нет?

Например, если пользователь типа www.google.com, он должен быть онлайн и должен быть добавлен http:// перед его обработкой. Если пользовательский тип /home/username/somepath не должен быть в сети.

Конечно, if и else вещь с проверкой шаблона строки может быть использован для этой цели. Мой вопрос: если официально поддерживается способ сделать что-то подобное из Qt5.

ответ

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") 

 Смежные вопросы

  • Нет связанных вопросов^_^