Qt 实现监听网页是否响应
要使用 Qt 实现监听网页是否响应,可以利用 QNetworkAccessManager
类来发送 HTTP 请求并处理响应。以下是一个示例代码:
#include <QtNetwork>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 创建一个 QNetworkAccessManager 对象QNetworkAccessManager manager;// 发送 GET 请求QNetworkReply* reply = manager.get(QNetworkRequest(QUrl("http://example.com")));// 连接信号 finished(),表示请求完成QObject::connect(reply, &QNetworkReply::finished, [&]() {if (reply->error() == QNetworkReply::NoError) {// 请求成功,网页正常响应qDebug() << "网页正常响应";} else {// 请求出错,打印错误信息qDebug() << "请求出错:" << reply->errorString();}// 释放资源reply->deleteLater();a.quit();});return a.exec();
}
这个示例使用了 QNetworkAccessManager
类来发送 HTTP GET 请求,并通过连接信号 finished()
来处理请求的完成事件。在请求完成时,我们检查 QNetworkReply
对象的错误码,如果没有错误,则表示网页正常响应;否则,打印错误信息。
请确保在项目文件(例如 .pro 文件)中添加了 network
模块的依赖,以正确链接和使用网络功能。另外,需要注意在 Windows 平台上可能需要额外设置网络代理。
这只是一个简单的示例,你可以根据自己的需求进行扩展和定制。例如,可以设置超时时间、添加请求头、处理重定向等。有关更多详细信息和用法,请参考 Qt 的网络模块文档。
导出 Excel 表
在 Qt 中,你可以使用第三方库来快速导出 Excel 表格。其中,QXlsxWriter
是一个流行的开源库,它提供了在 Qt 应用程序中生成和导出 Excel 文件的功能。
以下是使用 QXlsxWriter
导出 Excel 表格的示例代码:
-
首先,将
QXlsxWriter
添加到项目中。可以通过下载源码并手动添加到项目中,或者使用包管理工具(如 qpm、vcpkg)进行安装。 -
在代码中引入
xlsxdocument.h
头文件:#include "xlsxdocument.h"
-
创建一个
QXlsx::Document
对象,并设置要导出的 Excel 文件的名称和路径:QXlsx::Document xlsx; QString filePath = "path/to/excel.xlsx";
-
向 Excel 文件中添加数据。可以使用
write()
方法在指定的单元格位置写入数据:xlsx.write("A1", "Hello"); xlsx.write("B1", "World");
-
可以使用循环或其他方式将更多数据写入到其他单元格中。
-
最后,使用
saveAs()
方法将 Excel 文件保存到指定的路径:xlsx.saveAs(filePath);
完整的示例代码如下所示:
#include "xlsxdocument.h"int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QXlsx::Document xlsx;QString filePath = "path/to/excel.xlsx";xlsx.write("A1", "Hello");xlsx.write("B1", "World");xlsx.saveAs(filePath);return a.exec();
}
在运行代码后,将会生成一个名为 excel.xlsx
的 Excel 文件,并在第一个单元格(A1)和第二个单元格(B1)写入了数据。
请注意,在使用 QXlsxWriter
之前,确保已正确安装和配置该库,并将其添加到项目中。可以参考 QXlsxWriter
的文档和示例代码来了解更多用法和功能。