Qt的QNetworkConfigurationManager 类参考翻译

详细描述:

         Qt的 QNetworkConfigurationManager类用于管理系统提供的网络配置(the network configurations provided by the system)。

         QNetworkConfigurationManager提供从系统获取的网络配置接口,并可以用于对操作系统权能(在网络话务期)运行时进行实时监控(detect)。

        一个QNetworkConfiguration类对象映射一个网络配置的选项,用于描述网络接口如何通过配置连接到一个明确的目标网络(a particular target network)。QNetworkConfigurationManager类保持并且更新QNetworkConfiguration所有对象的global list,通过allConfigurations()函数,应用程序可以获取该list的接口或对其进行过滤(filter)。如果一个新的网络配置或已经存在的某个网络配置被移除或改变,对应地,将会发送 configurationAdded(), configurationRemoved() 和 configurationChanged()信号。

(原文:If a new configuration is added or an existing one is removed or changed the configurationAdded(), configurationRemoved() 
and configurationChanged() signals are emitted respectively.此处本身没有主语,QNetworkConfigurationManager类中包含以上三个信号,但关于信号发送
者----QNetworkConfigurationManager类的对象----的初始化配置,或者与QNetworkConfiguration或与系统本身的configurations的关联并没有说明,使用过程中
如何关联,本人的困惑之一。)
         当预计将要形成新的网络对话但有可能不会携带明确的配置信息,defaultConfiguration()函数可以使用,使其返回QNetworkConfiguration::Discovered配置。当函数没有获取任何发现时,将会返回一个非法配置(invalid configuration)。

        一些更新配置会需要一定的时间来实施更新。例如WLAN扫描,只有平台要求实施内部更新,需要用户通过QNetworkConfigurationManager::updateConfigurations()进行人工的配置更新。更新程序完成的同时会发送updateCompleted()信号。更新程序确保每个已存在的QNetworkConfiguration接口都会被更新。不需要通过allConfigurations()函数来将整个配置列表从新启动一遍。



发布了46 篇原创文章 · 获赞 10 · 访问量 33万+
展开阅读全文

QT 简单QNetwork历程无法使用

06-03

新手求教,历程无法使用,在debug的时候在replyfinished函数开始处设置断点,一直没有触发 这是pro文件: QT += core gui network QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = weatherget TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui 这是头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QNetworkAccessManager> #include <QtNetwork/QNetworkReply> #include <QtNetwork/QNetworkRequest> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: void replyFinished(QNetworkReply*); private: Ui::MainWindow *ui; QNetworkAccessManager *manager; }; #endif // MAINWINDOW_H 这是源文件: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QTextCodec> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QUrl url(QString("http://www.weather.com.cn/adat/sk/101010100.html")); manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setHeader(QNetworkRequest::ContentTypeHeader,"application/json"); request.setUrl(url); manager->get(request); connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*))); } MainWindow::~MainWindow() { delete ui; } void MainWindow::replyFinished(QNetworkReply *reply) { QTextCodec *codec = QTextCodec::codecForName("utf8"); QString all=codec->toUnicode((reply->readAll())); ui->textBrowser->setText(all); reply->deleteLater(); } 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览