Qt学习之路(28): 坐标变换】的更多相关文章

经过前面的章节,我们已经能够画出一些东西来,主要就是使用QPainter的相关函数.今天,我们要看的是QPainter的坐标系统.   同很多坐标系统一样,QPainter的默认坐标的原点(0, 0)位于屏幕的左上角,X轴正方向是水平向右,Y轴正方向是竖直向下.在这个坐标系统中,每个像素占据1 x 1的空间.你可以把它想象成是一张坐标值,其中的每个小格都是1个像素.这么说来,一个像素的中心实际上是一个“半像素坐标系”,也就是说,像素(x, y)的中心位置其实是在(x + 0.5, y + 0.5…
Qt 学习之路 2(28):坐标系统 豆子 2012年11月25日 Qt 学习之路 2 59条评论 在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Qt 的坐标系统了.泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础. 坐标系统是由QPainter控制的.我们前面说过,QPaintDevice.QPaintEngine和QPainter是 Qt 绘制系统的三个核心类.QPainter用于进行绘制的实际操作:QPaintD…
Qt 学习之路 2(71):线程简介 豆子 2013年11月18日 Qt 学习之路 2 30条评论 前面我们讨论了有关进程以及进程间通讯的相关问题,现在我们开始讨论线程.事实上,现代的程序中,使用线程的概率应该大于进程.特别是在多核时代,随着 CPU 主频的提升,受制于发热量的限制,CPU 散热问题已经进入瓶颈,另辟蹊径地提高程序运行效率就是使用线程,充分利用多核的优势.有关线程和进程的区别已经超出了本章的范畴,我们简单提一句,一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,…
Qt 学习之路 2(67):访问网络(3) 豆子 2013年11月5日 Qt 学习之路 2 16条评论 上一章我们了解了如何使用我们设计的NetWorker类实现我们所需要的网络操作.本章我们将继续完善前面介绍的天气程序. 注意到我们在WeatherDetail类中有一个icon属性.到现在为止我们还没有用到这个属性.下面我们考虑如何修改我们的程序. 通过查看 OpenWeatherMap 的相关 API 我们可以发现,当我们查询天气时会附带这么一个 icon 属性.这个属性其实是网站上的一个天…
Home / Qt 学习之路 2 / Qt 学习之路 2(66):访问网络(2) Qt 学习之路 2(66):访问网络(2)  豆子  2013年10月31日  Qt 学习之路 2  27条评论 上一章我们了解了NetWorker类的简单实现.不仅如此,我们还提到了几个 C++ 开发时常用的设计模式.这些在接下来得代码中依然会用到. 现在我们先来研究下 OpenWeatherMap 的相关 API.之所以选择 OpenWeatherMap,主要是因为这个网站提供了简洁的 API 接口,非常适合示…
Home / Qt 学习之路 2 / Qt 学习之路 2(65):访问网络(1) Qt 学习之路 2(65):访问网络(1)  豆子  2013年10月11日  Qt 学习之路 2  18条评论 现在的应用程序很少有纯粹单机的.大部分为了各种目的都需要联网操作.为此,Qt 提供了自己的网络访问库,方便我们对网络资源进行访问.本章我们将介绍如何使用 Qt 进行最基本的网络访问. Qt 进行网络访问的类是QNetworkAccessManager,这是一个名字相当长的类,不过使用起来并不像它的名字一…
Home / Qt 学习之路 2 / Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON  豆子  2013年9月23日  Qt 学习之路 2  8条评论 上一章我们了解了如何使用 QJson 处理 JSON 文档.QJson 是一个基于 Qt 的第三方库,适用于 Qt4 和 Qt5 两个版本.不过,如果你的应用仅仅需要考虑兼容 Qt5,其实已经有了内置的处理函数.Qt5 新增加了处理 JSO…
Home / Qt 学习之路 2 / Qt 学习之路 2(63):使用 QJson 处理 JSON Qt 学习之路 2(63):使用 QJson 处理 JSON  豆子  2013年9月9日  Qt 学习之路 2  19条评论 XML 曾经是各种应用的配置和传输的首选方式.但是现在 XML 遇到了一个强劲的对手:JSON.我们可以在这里看到有关 JSON 的语法.总体来说,JSON 的数据比 XML 更紧凑,在传输效率上也要优于 XML.不过 JSON 数据的层次化表达不及 XML,至少不如 X…
Home / Qt 学习之路 2 / Qt 学习之路 2(62):保存 XML Qt 学习之路 2(62):保存 XML  豆子  2013年8月26日  Qt 学习之路 2  9条评论 前面几章我们讨论了读取 XML 文档的三种方法.虽然各有千秋,但是 Qt 推荐的是使用QXmlStreamReader.与此同时,许多应用程序不仅需要读取 XML,还需要写入 XML.为此,Qt 同样提供了三种方法: 使用QXmlStreamWriter: 构造一个 DOM 树,然后掉其save()函数: 使用…
Qt 学习之路 2(60):使用 DOM 处理 XML  豆子  2013年8月3日  Qt 学习之路 2  9条评论 DOM 是由 W3C 提出的一种处理 XML 文档的标准接口.Qt 实现了 DOM Level 2 级别的不验证读写 XML 文档的方法. 与上一章所说的流的方式不同,DOM 一次性读入整个 XML 文档,在内存中构造为一棵树(被称为 DOM 树).我们能够在这棵树上进行导航,比如移动到下一节点或者返回上一节点,也可以对这棵树进行修改,或者是直接将这颗树保存为硬盘上的一个 XM…