使用 QNetworkAccessManager 的 Qt 控制台应用程序

2024-06-19

我正在尝试写一个Qt调用网络服务的应用程序。这是一个控制台应用程序,url 将作为命令行参数传入。我搜索了例如http程序在Qt并找到这个链接:

http://qt-project.org/doc/qt-5/qnetworkaccessmanager.html http://qt-project.org/doc/qt-5/qnetworkaccessmanager.html

这里有以下代码示例:

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
        this, SLOT(replyFinished(QNetworkReply*)));

manager->get(QNetworkRequest(QUrl("http://qt-project.org")));

现在,如果我将其粘贴到我的控制台应用程序中,main,我显然遇到了构建错误,因为this不存在。我得到:

invalid use of 'this' in non-member function

有同等的吗QNetworkAccessManager对于非 GUI/控制台类型的应用程序?


“this”是对象的 this 指针,因此在 main.cpp 中它会导致错误,您应该编写一些将使用网络的类,然后在 main 函数中使用此类

应该是这样的。当您运行应用程序时,您将获得 Qt 站点的 html 代码

这只是一个例子,将来我们可以在这里添加构造函数、析构函数,也许还可以添加信号(信号可以帮助我们与其他类进行通信,如果我们需要的话)

*.h

#ifndef NET_H
#define NET_H

#include <QObject>

#include <QtCore>
#include <QNetworkAccessManager>
#include <QNetworkReply>

class Net : public QObject
{
Q_OBJECT
  QNetworkAccessManager *manager;
private slots:
  void replyFinished(QNetworkReply *);
public:
  void CheckSite(QString url);
};



#endif // NET_H

*.cpp

#include "net.h"

void Net::replyFinished(QNetworkReply *reply) 
{ 
qDebug() << reply->readAll(); 
}

void Net::CheckSite(QString url) 
{
  QUrl qrl(url);
  manager = new QNetworkAccessManager(this);
  connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
  manager->get(QNetworkRequest(qrl));
}

main

#include "net.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Net handler;
    handler.CheckSite("http://qt-project.org");


    return a.exec();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 QNetworkAccessManager 的 Qt 控制台应用程序 的相关文章

  • 动态库使用静态库,出现未定义的符号

    我一直在寻找解决问题的方法 只是得到了一些线索 但我找不到任何一致的解决方案 我有一个动态库 libdyna so 的代码 它使用3个静态库 libone a libtwo a lib Three a 和log4cpp库的功能 当我第一次构
  • 在 ASP.NET Core 中全局重用变量

    我必须强制这些变量在我想使用的每个变量上重用 这让我很困难 我需要创建一个类来定义这些变量并在整个程序中使用它们 我怎样才能做到这一点 string RootFolderName Uplaod string ProductPictureFo
  • 如何防止函数中的隐式转换?

    我正在编写一个实用程序类 其中包含 IsEquals 和 IsGreaterThanEquals 等接受 double 类型参数的方法 当我将浮点值发送到方法时 它们会隐式转换为双精度值并进行比较 我不希望这种事发生 当我发送 float
  • Motif 库的水平绘制的 RowColumn 类 (C)?

    我正在使用 Motif Library 来完成我的工作 如果有人不熟悉这个库 您可以在这里找到文件列表https packages ubuntu com xenial amd64 libmotif dev filelist https pa
  • 从 pdf 和 word 文件中提取文本

    如何在 C 中从 pdf 或 word 文件中提取文本 删除粗体 图像和其他富文本格式媒体 您可以使用专为索引服务设计 由索引服务使用的过滤器 它们旨在从各种文档中提取纯文本 这对于在文档内部进行搜索非常有用 您可以将其用于 Office
  • 减少最大值并保存其索引

    int v 10 2 9 1 3 5 7 1 2 0 0 int maximo 0 int b 0 int i pragma omp parallel for shared v private i reduction max maximo
  • 值类型数组如何存储在 .NET 对象堆中?

    在 NET中 诸如int之类的值类型对象存储在内存中 引用类型对象需要为引用和对象单独分配内存 并且对象存储在 NET对象堆中 而Array是在堆中创建的 那么int 等值类型的数组如何存储在堆中呢 这是否意味着值类型对象可以存储在堆中而无
  • 使用 rhino 模拟进行 lambda 单元测试失败

    如果我有这个测试 Expect Call session Single
  • gcc 的错误?模板类中友元函数的访问控制问题

    我有一个模板类 并在类中定义了一个友元函数 include
  • 更改 Json 中属性的键

    这些天我正在尝试制作一个 json 编辑器 与树视图一起使用 我确实更改了值函数 我也可以更改一些键 但我无法在对象中设置键 我可以设置值 SetValue ref JObject main JToken token JToken newV
  • 在 Visual Studio 2017 mac 上安装扩展 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试在 Visual Studio for Mac 上安装 Visual Studio Marketplace 扩展 但是 Vi
  • 以 asp-for 作为参数的自定义 ViewComponent

    我想把这个包装起来
  • 如何在运行时统一捕捉两个对象?

    这是 3D 模型 我想将另一个像这样的模型连接到顶部的银色连接器 并将另一个模型连接到右侧 所以请帮助我捕捉它 https i stack imgur com qoWwl png我想知道如何在运行时将两个 3D 对象对齐在一起 即 在 玩
  • 如何根据条件退出 PostSharp 方面的 OnEntry 方法中的方法

    我希望方面根据如下条件退出方法调用 AttributeUsage AttributeTargets Method public class IgnoreIfInactiveAttribute OnMethodBoundaryAspect p
  • 如何在mvc视图中的表中显示数据库数据

    在我的 MVC 应用程序中 我从数据库检索数据 我想在表格中显示退役数据 控制器代码 public ActionResult MyAccount var user User Identity Name string sThumbnails
  • Cmake:在自定义目录中查找 protobuf 包

    我有 cmake 3 10 x 并下载了当前的 protobuf 源 3 6 1 使用 cmake 我创建了 bin 目录 PROTOBUF SOURCE DIR bin 在其中成功构建了该库 下一步我想在我的基于 cmake 的项目中使用
  • 对数据绑定组合框进行排序的最佳方法是什么?

    我对此做了一些研究 似乎对数据绑定组合框进行排序的唯一方法是对数据源本身进行排序 在本例中为数据集中的数据表 如果是这种情况 那么问题就变成对数据表进行排序的最佳方法是什么 组合框绑定在设计器中设置初始化使用 myCombo DataSou
  • TPL架构问题

    我目前正在开展一个项目 我们面临并行处理项目的挑战 到目前为止没什么大不了的 现在来说说问题 我们有一个 ID 列表 我们定期 每 2 秒 为每个 ID 调用一个 StoredProcedure 需要单独检查每个项目的 2 秒 因为它们是在
  • Windows 安装程序 (C#) 错误代码 2869

    我在 VS 2005 中有一个项目 其中有一个控制台应用程序和一个与安装该应用程序关联的安装项目 我在控制台应用程序中还有一个安装程序类 安装项目将使用它在安装前进行一些验证 这些任务正在检查数据库连接字符串并检查某些目录位置以确保它们在安
  • Interlocked.CompareExchange 可以抛出 NullReferenceException 吗?

    From https msdn microsoft com en us library bb297966 v vs 110 aspx https msdn microsoft com en us library bb297966 v vs

随机推荐

  • 如何将java项目转换为Maven项目或类似项目

    我目前正在创建一个应用程序 用于一次性编译多个 java 项目以进行编程作业 由于提交 java 项目的方式有很多种 例如 作为 eclipse 项目 作为 netbeans 项目 作为 jar 文件 是否有一个类似的插件 您可以轻松地在项
  • markdown/pandoc 的全站编译? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 With Sphinx doc http sphinx doc org 您可以创建一堆 ReStruct
  • 如何让 Entity Framework 6 + Sqlite + 代码优先工作?

    我正在尝试创建一个简单的项目来探索 Entity Framework 6 Code First 与 sqlite db 提供程序如何工作 但是当我完成我的应用程序时 我收到错误 实体框架提供程序类型 System Data SQLite S
  • 了解 PDFBox 2.0 中字体的加载

    我终于成功地让 PDFBox 打印我的 unicodes 但现在 我想了解我提出的解决方案 下面的代码可以工作并打印一个 到页面 有两件事不起作用 改变PDType0Font load documentMock systemResource
  • 居中时仅在文本的最后一行下划线

    我只想在某些文本的最后一行下划线 当文本换行到更多行时 仍然只有最后一行需要加下划线 我找到了这个解决方案 https stackoverflow com questions 15180827 advanced css challenge
  • 获取函数内的 kwargs

    如果我有一个像这样的 python 函数 def some func arg1 arg2 arg3 1 arg4 2 有没有办法确定哪些参数是从函数内部通过关键字传递的 EDIT 对于那些问我为什么需要这个的人 我没有真正的理由 它是在一次
  • 包含内容的 WPF 新窗口

    我想在现有的主 Windwoe 旁边创建一个带有可滚动文本框的新窗口 我在主窗口中按下 打开新窗口 按钮 然后它应该打开一个带有可滚动文本框的新窗口 inside form2 在 WPF 中 您可以在主窗口中拖放元素 但不能在新窗口中执行此
  • PostgreSQL 中的 Long 数据类型相当于什么?

    我想知道相当于什么LongPostgreSQL 中的数据类型 根据the docs http www postgresql org docs 7 4 interactive datatype html DATATYPE INT看起来像big
  • JSF 2 和发布/重定向/获取?

    如果我错了 请纠正我 但我认为我所有的非 AJAX 提交都应该使用 Post Redirect Get PRG 方式 因为 GET 应该用于刷新 查询数据 就我而言 我能想到的应用程序页面实际上只对数据进行更新 然后刷新页面 所以我认为 P
  • 在 python 中使用 IOT 适配器和 google pub/sub api 将 MQTT 与 GCP 集成

    与 App Engine Standard 中的 Cloud Pub Sub API 集成 我正在标准 Python 环境中开发 Google 应用程序引擎应用程序 对于代码的某些部分 我需要与 Google Cloud pub sub A
  • Richfaces a4j:loadScript 清除 ajax 调用上的 jQuery 插件

    我正在加载嵌入到 RichFaces 中的 jQuery
  • 最新的反应式扩展 (Rx) 教程

    我对反应式扩展非常感兴趣 但我找不到最新的教程 我开始于使用 NET 响应式扩展消除异步忧郁症 http go microsoft com fwlink LinkId 208528但它已经过时了 我可以找出一些改变 但我无法让很多例子发挥作
  • 如何使用 log4j 自定义附加程序在 HDFS 上创建日志?

    Overview 我们希望使用 log4j 记录 Spark 作业活动 并将日志文件写入 HDFS Java 8 Spark 2 4 6 Scala 2 1 2 Hadoop 3 2 1 我们无法找到本地 apache log4j 附加程序
  • 使用 CLR 返回表

    我想编写一个 CLR 过程 它接受一个文本并返回一个包含该文本中所有单词的表 但我不知道如何返回一张桌子 你能告诉我吗 Microsoft SqlServer Server SqlFunction public static WhatTyp
  • SAS-压缩多行,保持最高值

    我正在努力完成以下任务 我尝试过使用数组和排序 但似乎没有任何效果 任何帮助将不胜感激 Acct Score1 Score2 9999 45 78 9999 58 65 8888 43 80 8888 43 90 8888 31 70 Th
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • 如何在 MVC 控制器中获取 unmask 值

    我在我的项目中使用 jquery inputmask js 作为 SSN inputmask mask 999 99 9999 autoUnmask true onUnMask function value return value rep
  • ruby 管道、IO 和 stderr 重定向

    我希望有一个 ruby 程序 一个 rake 任务 观察另一个 rake 任务的输出 输出写入器输出到 stderr 我想读一下这些行 我很难设置它 如果我有一个作家 stdout writer rb 不断打印一些东西 usr bin en
  • 消息:函数在 5000 毫秒后超时 - Protractor & CucumberJS

    cucumberjs version 1 2 2 protractor version 4 0 1 Both installed globally via npm 升级到上面的 cucumberJs 版本后 我不断收到此错误 Failure
  • 使用 QNetworkAccessManager 的 Qt 控制台应用程序

    我正在尝试写一个Qt调用网络服务的应用程序 这是一个控制台应用程序 url 将作为命令行参数传入 我搜索了例如http程序在Qt并找到这个链接 http qt project org doc qt 5 qnetworkaccessmanag