我正在尝试创建一个库,其 API 将以下列方式使用:
WebService *service = new WebService( username, password );
User *user = service->getAuthenticatedUser();
UserAssets *assets = user->assets();
// And so on
创建实例时,经过身份验证的用户及其资产都不会被下载WebServer
,而是只有在明确请求时才会被检索。
每当我必须在使用 Qt 之前从网络中检索数据时,我都会遵循将finished()
信号连接QNetworkReply
到适当插槽并使用该插槽处理返回数据的标准模式。
我的问题是该模式似乎不适合我想要的用例。我希望我的图书馆的用户(其他开发人员)能够使用单行来请求和接收他们想要的数据,但至少从我的角度来看,“Qt 方式”似乎要求他们启动一条线上的请求,然后将一些信号连接到其他插槽以获取数据,这不是我希望他们拥有的体验。
我是网络编程的新手,无论是一般的还是 Qt 的,但我使用了用 Python 编写的库,与完全相同的服务进行通信,能够实现这一点,所以这似乎是可能的。
是否可以通过一个函数调用使用 Qt 执行 HTTP 请求的整个生命周期?