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
的文档和示例代码来了解更多用法和功能。