c++ - 如何在 QUrl 中设置与主机的路径?
问题描述
我正在使用 QUrl 构造一个字符串 url。假设我需要一个“rtsp://camera.lan/stream”网址。
下面的代码给出了“rtsp://camera.lan”网址:
QUrl url;
url.setScheme("rtsp");
url.setHost("camera.lan");
auto url_str = url.toString().toStdString(); // "rtsp://camera.lan"
这给出了“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
文档说,
对于非分层方案,路径将是方案声明之后的所有内容
但是如果我需要指定路径和权限呢?
解决方案
尝试通过调用QUrl::setPath()
这样的函数来设置路径:
url.setPath("/stream"); // Note the slash symbol.
反而。它会给你预期的结果,即rtsp://camera.lan/stream
.
推荐阅读
- python - 在一个字符之后声明所有内容
- python - 如何使用 .get 从字典命令中获取随机值?
- flutter - TabBar 可以使用 NestedScrollView 或 CustomScrollView 以额外的空白空间滚动
- java - 我的 LZW 压缩程序几乎没有压缩
- javascript - 不将 Json 数据保存到文件中
- file - 未指定路径时,Pharo 中默认保存的文件在哪里?
- asp.net-mvc - 如何在 .NET Core 中更改 SQL 数据库中的 FirstName 属性?
- python - 如何每小时自动运行网络爬虫脚本?
- python - 用 Python 编写 Discord 机器人 - 如何让机器人重复图像?
- python - 使用具有 GPU 支持的特定版本的 Tensorflow 的最强大的方法