Как установить путь с хостом в QUrl? - PullRequest
0 голосов
/ 19 октября 2018

Я использую QUrl для создания строки URL.Допустим, мне нужно получить URL-адрес «rtsp: //camera.lan/stream».

Приведенный ниже код дает URL-адрес «rtsp: //camera.lan»:

QUrl url; 
url.setScheme("rtsp"); 
url.setHost("camera.lan"); 
auto url_str = url.toString().toStdString();  // "rtsp://camera.lan"

Это дает URL-адрес "rtsp: camera.lan":

url.setScheme("rtsp"); 
url.setPath("camera.lan"); 
auto url_str = url.toString().toStdString();  // "rtsp:camera.lan"

Но если я задаю путь с хостом, он недействителен:

url.setScheme("rtsp"); 
url.setHost("camera.lan"); 
url.setPath("stream"); 
auto url_str = url.toString().toStdString();  // gives ""
bool url_is_valid = url.isValid();  // false

документы скажем,

Для неиерархических схем путь будет всем, что следует за объявлением схемы

Но что, если мне нужно указатьпуть и авторитет?

1 Ответ

0 голосов
/ 19 октября 2018

Попробуйте установить путь, вызвав функцию QUrl::setPath() следующим образом:

url.setPath("/stream"); // Note the slash symbol.

.Это даст вам ожидаемый результат, то есть rtsp://camera.lan/stream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...