Learning Qt 5! (17):访问网络

告别单机时代!
Qt 学习之路 2(65):访问网络(1)
Qt 学习之路 2(66):访问网络(2)
Qt 学习之路 2(67):访问网络(3)
Qt 学习之路 2(68):访问网络(4)(该部分的代码未加入程序中)

基础不牢,地动山摇。补全代码的时候各种小问题百思不得其解,还熬了个夜,终于把程序跑起来了。完整代码见github。效果如下:
weather

访问网络要用到的是QNetworkAccessManager类。该类允许程序发送网络请求以及接受服务器的响应。其本身是异步设计!应当做单例使用。

在例子中学到了一个重要的编程技巧:

在 C++ 中,保持二进制兼容性非常重要。如果你能够保持二进制兼容,则当以后升级库代码时,用户不需要重新编译自己的程序即可直接运行(如果你使用 Qt5.0 编译了一个程序,这个程序不需要重新编译就可以运行在 Qt5.1 下,这就是二进制兼容;如果不需要修改源代码,但是必须重新编译才能运行,则是源代码兼容;如果必须修改源代码并且再经过编译,例如从 Qt4 升级到 Qt5,则称二者是不兼容的)。保持二进制兼容的很重要的一个原则是不要随意增加、删除成员变量。因为这会导致类成员的寻址偏移量错误,从而破坏二进制兼容。为了避免这个问题,我们将一个类的所有私有变量全部放进一个单独的辅助类中,而在需要使用这些数据的类值提供一个这个辅助类的指针。注意,由于我们的辅助类是私有的,用户不能使用它,所以针对这个辅助类的修改不会影响到外部类,从而保证了二进制兼容。

猜你喜欢

转载自blog.csdn.net/u013213111/article/details/86318253