Russian Qt Forum

Qt => Общие вопросы => Тема начата: Ilya Evseev от Январь 13, 2014, 13:26



Название: Как в QUrl добавить протокол?
Отправлено: Ilya Evseev от Январь 13, 2014, 13:26
Если пользователь ввел в строке адреса имя сайта без протокола, например, "yandex.ru", веб-браузеры добавляют префикс "http://" автоматически.
Есть ли такая возможность в QUrl?
Код
C++ (Qt)
QString s = ui->lineEdit->text();
QUrl u(s);
if (u.scheme().isEmpty())
   u.setScheme("http");
..превращает "ya.ru" в "http:ya.ru".

Пока единственный найденный вариант - это
Код
C++ (Qt)
if (s.indexOf("://") < 0)
   s.prepend("http://");
то есть очевидный костыль.
 ??? Qt 4.8


Название: Re: Как в QUrl добавить протокол?
Отправлено: Alex Custov от Январь 13, 2014, 13:33
QUrl::fromUserInput()?


Название: Re: Как в QUrl добавить протокол?
Отправлено: Ilya Evseev от Январь 13, 2014, 15:06
QUrl::fromUserInput()?
Отлично!
Спасибо! :)