首页 技术 《Qt 5编程入门》出版!

《Qt 5编程入门》出版!

51 4.7K

经过一年的编写,豆子与霍亚飞合作的《Qt 5编程入门》已经正式出版

首先亮下封面:
《Qt 5编程入门》封面、封底

有关书名

这个书名是豆子和霍亚飞“绞尽脑汁”想出来的。当时我们考虑过《Qt 5最佳教程》、《精通Qt 5》之类,甚至与国际接轨的《Qt 5 Primer》,不过,鉴于我们三脚猫的功夫,显然不能使用这样高等级的书名,否则肯定会被骂的一塌糊涂。于是,我们低调一些,选择了“入门”这个词。如果想吐槽,只好在此接招了 ;-P

经过春节的洗礼,现在懒了不少。所以有关本书介绍这类文字,只好照搬“官方”的了。

本书特色

本书是经典的Qt应用编程系列丛书继《Qt Creator快速入门》和《Qt及Qt Quick开发实战精解》之后的又一力作,是市面上为数不多的全面介绍Qt 5、QML和Qt Quick的入门书籍。与其它相关书籍最大的不同之处还包括,本书是基于网络教程的。综合来说,本书主要具有以下特色:

  • 最新。本书基于最新的Qt 5.3.0和Qt Creator 3.1.1版本进行编写,Qt 5.3.0是Qt 5的最新的稳定版本。
  • 基于社区。本书以Qter开源社区为依托,由社区站长合作完成。读者可以通过论坛、邮件、QQ群等方式和作者零距离交流。
  • 无限更新。本书对应的网络教程是无限更新的,本书已经是该网络教程衍生的第三套书籍了。
  • 全新风格。本书力求以全新的视角,引领开发者进行程序代码的编写和升级,同时以初学者的角度进行叙述,每个小知识点都以一个完整的程序来讲解。尽量避免晦涩难懂的术语,使用初学者易于理解的平白的语言编写,目标是让初学者在快乐中掌握知识。
  • 授之以渔。在整书的编写过程中,都是在向读者传授一种学习方法,告诉读者怎样发现问题、解决问题,怎样获取知识,而不是向读者灌输知识。本书的编写基于Qt参考文档,所讲解的知识点多数是Qt参考文档中的部分内容,大家在学习时一定要多参考Qt帮助文档。在本套书籍讲解的所有的知识点和示例程序中,都很明显的标出了其在Qt帮助中对应的关键字,这样可以让读者对书中的内容有迹可循。

本书结构

所谓特色,不过是自卖自夸,真正有用的还是目录这类东西:

  • 第1章 Qt 5简介
  • 第2章 将Qt 4代码迁移到Qt 5
  • 第3章 Qt Quick的世界
  • 第4章 QML语法
  • 第5章 Qt Quick基础
  • 第6章 Qt Quick控件和对话框
  • 第7章 图形动画基础
  • 第8章 图形效果
  • 第9章 粒子系统
  • 第10章 Canvas基础
  • 第11章 模型和视图
  • 第12章 多媒体应用
  • 第13章 QML与C++的集成
  • 第14章 使用Qt Quick设计器

关于 Qt 版本

我们在准备初稿的时候(大约 2013 年底),Qt 5 刚发布一年左右时间。当我们准备终稿的时候,Qt 的版本已经到了 5.4。至于 Qt 是不是也准备飚版本号,豆子也不去追究。虽然我们力求选择最新版本的 Qt,但最终也没能赶上 Qt 的发展。于是,书中选择的是 Qt 5.3。

有关购买

如果您心动了,或者纯粹想要支持一下,请考虑下面的连接 🙂
京东 ^当当 ^淘宝 ^_^ 亚马逊

售后服务

没错,我们也有售后的 🙂

如果对书中内容任何疑问或者建议,可以到 Qter 社区页面跟帖。

有关书中的示例代码,请在这里下载

最后,感谢大家的支持!请谨慎吐槽 🙂

51 评论

Toxsch 2015年3月11日 - 16:26

QML一直没能潜下心学习,趁这个机会再努力一次吧

回复
wuming123057@163.com 2015年3月11日 - 17:55

博客更新慢了哈。
豆子,你这本书,我年前就到手了。很不错的哦。

回复
豆子 2015年3月12日 - 10:00

多谢支持,一起学习

回复
TomShine 2015年3月11日 - 18:54

豆子哥你的书终于出了,决定买一本

回复
sixteen 2015年3月12日 - 17:56

已入手,支持豆子
我看这本书的目录好像和豆子的qt之路2完全不一样,这2者的着重点有什么不一样吗

回复
豆子 2015年3月14日 - 10:18

这本书不是《Qt 学习之路 2》的纸质版,书的内容更多偏向于 Qt Quick 部分,毕竟作为一套丛书,有关 C++ 的部分在 Qt 4 已经详细介绍过。比起网上的文章,书中的介绍会更仔细一些,毕竟很多书中的内容在这里还没有出现 🙂

回复
David 2015年3月13日 - 09:41

支持支持,不知现在豆子对于用Quick开发产品有新看法没?Qt5.4中Quick的常用控件覆盖和运行效率到底行不行啊?很想用,怕给自己挖坑啊。

回复
豆子 2015年3月14日 - 10:15

个人意见,如果是简单应用可以考虑,如果是复杂的企业级应用,Qt Quick 中缺乏一些企业级应用很常用的 table、tree 的支持,所以可能需要花费很长时间去设计这样的组件。至于效率,对于现在的机器来说应该不会成问题,还是看界面的复杂度吧

回复
David 2015年3月14日 - 21:57

谢谢,简单的table是有,我自己去试试吧

回复
ppacctv 2015年3月14日 - 19:49

支持豆子!我学习Qt全靠豆子的Qt4教程,很不错!
只是现在工作的原因,基本不写程序了,也没能继续学习Qt5……
总之,希望豆子继续努力,争取更好的教程出现!

回复
haio 2015年3月15日 - 11:58

看了博主这么多文章,买本书支持下。

回复
LT 2015年3月18日 - 16:51

感谢你的 Qt 学习之路 2 ,给了我入门Qt5起了非常大的帮助。我已经买了《Qt 5编程入门》,期待你的 Qt 学习之路2 也能出版。不过在看 Qt 学习之路2 的过程中,尽管你的代码已经很全了,但是有时候还是需要自己做些改动才能运行,所以小小建议一下啊,如果 Qt 学习之路 2 的源码,最后能拿到就可以编译运行,最好放在 github 上也放一份,就更方便了。

回复
豆子 2015年3月27日 - 11:00

好的,这个会注意下

回复
jmgs111@163.com 2015年3月22日 - 18:09

OK,马上入手!

回复
lang 2015年3月23日 - 22:47

博主,你的QT文章写的太好了,受益匪浅,买本书支持!

回复
lang 2015年3月30日 - 20:38

书的内容确实很好,讲解的也很到位。
可是,为什么里面有的图片和文字很模糊?并且有的字手一抹就掉墨。。我在amazon上买的,难道是假货,还是就是这质量?

回复
豆子 2015年3月31日 - 10:32

貌似印刷质量不是很好,我们也发现这个问题了

回复
大川 2015年4月2日 - 16:21

豆子,您好。
知道您很忙,但是有个问题解决不了,想向您请教一下。
使用QML我怎么才能实现把图标从一个界面拖拽到另一个界面呢。
有没有代码可以参考。
我参考qt下的example稍微做了一个,在相同界面下可以移动。
谢谢。

回复
豆子 2015年4月8日 - 09:25

不知道你所提到的“从一个界面拖拽到另一个界面”是两个独立的进程还是同一个进程中?如果是前者,就是跨进程的数据共享,一般需要使用系统剪贴板或者共享内存;后者简单一些,使用基本 Drag and Drop 差不多就可以完成

回复
大川 2015年4月11日 - 14:11

豆子,首先谢谢您的回复。是在一个进程中的。我用的是listview和gridview,listview的每个index中有一个gridview,单独的gridview中的图标移动使用Drag and Drop已经实现,但是gridview之间的图标移动不知道怎么实现。请您给点建议。

回复
skylsk 2015年4月13日 - 17:54

楼主,我在京东买了你们的书,印刷的质量很差,图片都是黑乎乎的,纸张也很一般,真怀疑那个京东的店铺是卖盗版书。。。。

回复
大川 2015年4月22日 - 12:34

确实,我在淘宝上买的也是

回复
Jumes 2015年4月29日 - 12:20

你好,我看亚马逊上只有纸版,不知道会出kindle版吗?

回复
豆子 2015年6月3日 - 09:53

目前好像没有计划会有 kindle 版,这个需要与出版社协商。

回复
VankoStark 2015年4月30日 - 14:28

楼主,您好。我现在使用qt做界面设计,自己用PS设计了一些界面,想用切图的形式直接进行布局,不知道您这边是否有讲解到,在那一部分?谢谢

回复
豆子 2015年6月3日 - 09:55

这部分没有目前还涉及到

回复
james 2015年7月23日 - 02:07

很高兴在职业生涯早期遇到这样一个blog,谢谢博主

回复
呼氪 2015年8月15日 - 21:40

我自己也在自己的博客中写了几篇Qt的关于QSS的文章,学习Qt参考过作者的书,写的入门可以,但是不算是很细,还可以。

回复
程潇 2015年9月9日 - 21:30

豆子老师,有C++基础,因为缺乏项目经验,想要自己做一个项目练手,应该买《Qt Creator快速入门》好还是这本《Qt5 编程入门》,或者是先跟着博客的Qt学习之路2学习好呢?

回复
豆子 2015年9月9日 - 21:41

《Qt Creator快速入门》主要针对 Qt5/C++,《Qt5 编程入门》主要针对 Qt5/QML。虽然 Qt5 也有 C++ 部分,只是和 Qt4 相差不大,所以在《Qt5 编程入门》中并没有过多展开,仅有的一点关于 C++ 的内容也是如何从 Qt4 升级。所以想要从 C++ 开始了解 Qt,《Qt5 编程入门》并不大合适。如果你觉得《Qt Creator快速入门》针对的是 Qt4 而不是 Qt5,也可以先试着通过网站学习,大致也差不多的。

回复
李先生 2015年10月6日 - 16:15

有C++基础,但是这是第一次接触QT,是纯粹的初学者适合看《QT creator快速入门》还是《QT5编程入门》?????

回复
豆子 2015年10月9日 - 10:05

没有 Qt 基础的初学者推荐首先看《QT Creator 快速入门》,这本主要是基于 C++ 的,在理解了一定的 Qt 相关概念之后再学习《Qt 5 编程入门》。需要注意的是,前者是基于 Qt 4 的,后者是 Qt 5。如果从网站直接下载的话,目前都是 Qt 5 版本,需要根据后者的相关描述做一定的升级处理,不过只是简单的调整,并不涉及设计思路。

回复
李先生 2015年10月9日 - 10:15

有没有针对Qt5的《Qt creator快速入门》教材呀?????我电脑上面安装的是Qt5.4.2,我想和Qt版本对应起来学免得到时候用了Qt4的《Qt creator快速入门》和我的Qt5版本不配出现问题。。。。

Napchat 2015年9月15日 - 16:23

现在在用VS2013+QT5环境来学习豆子的QT学习之路2,不知道有没有什么需要注意的地方,之前看过学习之路1,很多头文件不对,搞得我很郁闷。

回复
豆子 2015年9月16日 - 09:40

你可以从《Qt 学习之路2》开始看起,1 的话是基于 Qt 4 的,很多头文件都不一样,在你用 Qt 5 学习的时候就可能出错了。

回复
QQQ 2015年12月22日 - 11:45

想请问一下我现在想把QMovie的device资料存成Qbytearray请问要怎么做?

回复
豆子 2015年12月28日 - 17:17

直接调用 QIODevice::readAll() 函数,返回 QByteArray 不可以吗?

回复
JackPy 2015年12月25日 - 17:57

买了此书,内容很不错!建议单独将第14章的内容放到博客上,因为书中印刷的黑白图片实在看不清,也不好看,放在博客上即可吸引流量,又方便实际阅读

回复
豆子 2015年12月28日 - 17:07

打算明年会有一个再版,更新到最新的 5.6。印刷质量很烂,很多朋友都反映过这个问题,到时候还得找出版社商量下

回复
Jack 2016年1月12日 - 14:34

请问一下,我想用Qt做个用滑鼠点一下就知道那点颜色的功能,要用什么来显示图片和哪种Signal知道点到哪一点?

回复
豆子 2016年1月13日 - 22:10

图片使用 QPixmap 应该就可以了;但是对于图片,一般都没有鼠标点击的信号,可以使用 mousePressEvent() 之类的事件。

回复
华妃丶 2016年3月2日 - 17:57

我也买了这本书~真的很适合我,谢谢你

回复
小冬 2016年3月4日 - 23:18

QSqlQueryModel *model1 = new QSqlQueryModel;
model1->setQuery("select * from pinyin");
model1->setHeaderData(0, Qt::Horizontal, tr("id"));
model1->setHeaderData(1, Qt::Horizontal, tr("name"));
ui->tableView->setModel(model1);
qDebug() <setData(model1->index(0, 0), "1", Qt::DisplayRole);
qDebug() <itemData(model1->index(0, 0));
结果
false
QMap((0, QVariant(QString, "ch_s") ) ( 2 , QVariant(QString, "ch_s") ) )
请问怎么才能设置角色?任何角色都设置不成功
帮助文档时这么说的The base class implementation returns false. This function and data() must be reimplemented for editable models.
请问老师有什么办法么?

回复
豆子 2016年3月7日 - 16:25

QSqlQueryModel没有实现setData()函数,所以你需要自己继承去实现这个函数和data()两个函数才可以使用。

回复
王强 2016年3月16日 - 10:42

豆子老师,请问有实现的思路么?我实现了好久都没弄好,就是Qt::DisplayRole,Qt::EditRole = 2,Qt::ToolTipRole这三个放入Tableview完全没效果,实现和实际数据完全不能分离,commitAll的时候QSqlQueryModel还是读取的是Qt::EditRole,可以做下相关讲解么?

回复
2016年4月13日 - 10:46

豆子老师,我想在qtcreator 中查看源码,怎么样在其中导入qt源码。

回复
青山 2016年4月27日 - 14:20

Windows下建议不要这么做,QtCreator会崩溃的。。。Linux下没试过。

回复
qtlearner 2016年7月2日 - 18:27

大佬好,请问再版的书可以购买了吗。
qt版本已经飙到5.7了。

回复
豆子 2016年7月8日 - 14:27

目前还没有的

回复
qtlearner 2016年7月10日 - 18:59

中国qt领军人物

回复
rekols 2016年8月11日 - 21:59

过来赞赞。

回复

回复 sixteen 取消回复

关于我

devbean

devbean

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

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