Qt

原文地址:http://woboq.com/blog/how-qt-signals-slots-work-part2-qt5.html 这是解释 Qt 信号槽机制的上一篇文章的后续。在上一篇文章中,我们了解到旧的信号槽语法的一般原理以及如何实现的。在本章,我们将看看 Qt5 基于函数指针的新语法是如何实现的。 Qt5 的新语法 新语法看起来是这样的: 为什么要有新语法? 我们已经在介绍新语法的文章 ...

4 评论 2.7K 次阅读
Qt Study Road

经过前面一段时间的学习,我们已经了解到有关 Qt 相当多的知识。现在,我们将把前面所讲过的知识综合起来,开发一个贪吃蛇游戏。游戏很简单,相信大家都有见过,多多少少也都玩过。我们在实现这个贪吃蛇游戏时,会利用到事件系统、Graphics View Framework、QPainter 等相关内容,也会了解到一个游戏所具有的一些特性,比如游戏循环等,在 Qt 中如何体现出来。当然,最重要的是,通过一个 ...

50 评论 7.5K 次阅读
Qt Study Road

Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互;还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转。我们通常所说的 Linux 的 KDE 桌面环境,就是建立在 Graphics View 基础之上的(尽管新版本的 KDE 有向 QML 迁移的趋势)。 Graphics View 框架包含了一套完整的事件体系,可以用于与场景中的元素进 ...

27 评论 5.4K 次阅读
Qt

原文地址:http://woboq.com/blog/how-qt-signals-slots-work.html Qt 因其信号槽机制闻名遐迩。但是信号槽是怎样工作的?本文将解释 QObject 和 QMetaObject 的内部实现,以及探索如何在这种机制下实现信号槽。 本文将展示 Qt5 的部分代码,不过有时会为格式化以及简洁性而有所修改。

5 评论 2.9K 次阅读
Qt Study Road

在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Qt 的坐标系统了。泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础。 坐标系统是由QPainter控制的。我们前面说过,QPaintDevice、QPaintEngine和QPainter是 Qt 绘制系统的三个核心类。QPainter用于进行绘制的实际操作;QPaintD ...

65 评论 8.4K 次阅读
Qt Study Road

渐变是绘图中很常见的一种功能,简单来说就是可以把几种颜色混合在一起,让它们能够自然地过渡,而不是一下子变成另一种颜色。渐变的算法比较复杂,写得不好的话效率会很低,好在很多绘图系统都内置了渐变的功能,Qt 也不例外。渐变一般是用在填充里面的,所以,设置渐变是在QBrush里面。

17 评论 4.1K 次阅读
Qt Study Road

我们在光栅图形显示器上绘制非水平、非垂直的直线或多边形边界时,或多或少会呈现锯齿状外观。这是因为直线和多边形的边界是连续的,而光栅则是由离散的点组成。在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样;用于减少或消除这种效果的技术,就称为反走样。

9 评论 3.2K 次阅读
C++11

原文出处:http://blog.smartbear.com/software-quality/bid/167271/The-Biggest-Changes-in-C-11-and-Why-You-Should-Care 自从 C++ 语言第一次迭代已经过去 13 年。C++ 标准委员会成员 Danny Kalev 在本文中解释了这门编程语言有怎样的改进,以及如何帮助你编写更好的代码。 C++ 的 ...

7 评论 3.3K 次阅读

C++ 作为一种面向对象语言,其最重要的一个特征(也是面向对象的最重要的特征之一)是多态和动态绑定。所谓动态绑定,也称为“运行时绑定”,是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。基于此,我们可以编写如下的代码:

5 评论 2.8K 次阅读

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2