经过一年的编写,豆子与霍亚飞合作的《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 评论
QML一直没能潜下心学习,趁这个机会再努力一次吧
博客更新慢了哈。
豆子,你这本书,我年前就到手了。很不错的哦。
多谢支持,一起学习
豆子哥你的书终于出了,决定买一本
已入手,支持豆子
我看这本书的目录好像和豆子的qt之路2完全不一样,这2者的着重点有什么不一样吗
这本书不是《Qt 学习之路 2》的纸质版,书的内容更多偏向于 Qt Quick 部分,毕竟作为一套丛书,有关 C++ 的部分在 Qt 4 已经详细介绍过。比起网上的文章,书中的介绍会更仔细一些,毕竟很多书中的内容在这里还没有出现 🙂
支持支持,不知现在豆子对于用Quick开发产品有新看法没?Qt5.4中Quick的常用控件覆盖和运行效率到底行不行啊?很想用,怕给自己挖坑啊。
个人意见,如果是简单应用可以考虑,如果是复杂的企业级应用,Qt Quick 中缺乏一些企业级应用很常用的 table、tree 的支持,所以可能需要花费很长时间去设计这样的组件。至于效率,对于现在的机器来说应该不会成问题,还是看界面的复杂度吧
谢谢,简单的table是有,我自己去试试吧
支持豆子!我学习Qt全靠豆子的Qt4教程,很不错!
只是现在工作的原因,基本不写程序了,也没能继续学习Qt5……
总之,希望豆子继续努力,争取更好的教程出现!
看了博主这么多文章,买本书支持下。
感谢你的 Qt 学习之路 2 ,给了我入门Qt5起了非常大的帮助。我已经买了《Qt 5编程入门》,期待你的 Qt 学习之路2 也能出版。不过在看 Qt 学习之路2 的过程中,尽管你的代码已经很全了,但是有时候还是需要自己做些改动才能运行,所以小小建议一下啊,如果 Qt 学习之路 2 的源码,最后能拿到就可以编译运行,最好放在 github 上也放一份,就更方便了。
好的,这个会注意下
OK,马上入手!
博主,你的QT文章写的太好了,受益匪浅,买本书支持!
书的内容确实很好,讲解的也很到位。
可是,为什么里面有的图片和文字很模糊?并且有的字手一抹就掉墨。。我在amazon上买的,难道是假货,还是就是这质量?
貌似印刷质量不是很好,我们也发现这个问题了
豆子,您好。
知道您很忙,但是有个问题解决不了,想向您请教一下。
使用QML我怎么才能实现把图标从一个界面拖拽到另一个界面呢。
有没有代码可以参考。
我参考qt下的example稍微做了一个,在相同界面下可以移动。
谢谢。
不知道你所提到的“从一个界面拖拽到另一个界面”是两个独立的进程还是同一个进程中?如果是前者,就是跨进程的数据共享,一般需要使用系统剪贴板或者共享内存;后者简单一些,使用基本 Drag and Drop 差不多就可以完成
豆子,首先谢谢您的回复。是在一个进程中的。我用的是listview和gridview,listview的每个index中有一个gridview,单独的gridview中的图标移动使用Drag and Drop已经实现,但是gridview之间的图标移动不知道怎么实现。请您给点建议。
楼主,我在京东买了你们的书,印刷的质量很差,图片都是黑乎乎的,纸张也很一般,真怀疑那个京东的店铺是卖盗版书。。。。
确实,我在淘宝上买的也是
你好,我看亚马逊上只有纸版,不知道会出kindle版吗?
目前好像没有计划会有 kindle 版,这个需要与出版社协商。
楼主,您好。我现在使用qt做界面设计,自己用PS设计了一些界面,想用切图的形式直接进行布局,不知道您这边是否有讲解到,在那一部分?谢谢
这部分没有目前还涉及到
很高兴在职业生涯早期遇到这样一个blog,谢谢博主
我自己也在自己的博客中写了几篇Qt的关于QSS的文章,学习Qt参考过作者的书,写的入门可以,但是不算是很细,还可以。
豆子老师,有C++基础,因为缺乏项目经验,想要自己做一个项目练手,应该买《Qt Creator快速入门》好还是这本《Qt5 编程入门》,或者是先跟着博客的Qt学习之路2学习好呢?
《Qt Creator快速入门》主要针对 Qt5/C++,《Qt5 编程入门》主要针对 Qt5/QML。虽然 Qt5 也有 C++ 部分,只是和 Qt4 相差不大,所以在《Qt5 编程入门》中并没有过多展开,仅有的一点关于 C++ 的内容也是如何从 Qt4 升级。所以想要从 C++ 开始了解 Qt,《Qt5 编程入门》并不大合适。如果你觉得《Qt Creator快速入门》针对的是 Qt4 而不是 Qt5,也可以先试着通过网站学习,大致也差不多的。
有C++基础,但是这是第一次接触QT,是纯粹的初学者适合看《QT creator快速入门》还是《QT5编程入门》?????
没有 Qt 基础的初学者推荐首先看《QT Creator 快速入门》,这本主要是基于 C++ 的,在理解了一定的 Qt 相关概念之后再学习《Qt 5 编程入门》。需要注意的是,前者是基于 Qt 4 的,后者是 Qt 5。如果从网站直接下载的话,目前都是 Qt 5 版本,需要根据后者的相关描述做一定的升级处理,不过只是简单的调整,并不涉及设计思路。
有没有针对Qt5的《Qt creator快速入门》教材呀?????我电脑上面安装的是Qt5.4.2,我想和Qt版本对应起来学免得到时候用了Qt4的《Qt creator快速入门》和我的Qt5版本不配出现问题。。。。
现在在用VS2013+QT5环境来学习豆子的QT学习之路2,不知道有没有什么需要注意的地方,之前看过学习之路1,很多头文件不对,搞得我很郁闷。
你可以从《Qt 学习之路2》开始看起,1 的话是基于 Qt 4 的,很多头文件都不一样,在你用 Qt 5 学习的时候就可能出错了。
想请问一下我现在想把QMovie的device资料存成Qbytearray请问要怎么做?
直接调用 QIODevice::readAll() 函数,返回 QByteArray 不可以吗?
买了此书,内容很不错!建议单独将第14章的内容放到博客上,因为书中印刷的黑白图片实在看不清,也不好看,放在博客上即可吸引流量,又方便实际阅读
打算明年会有一个再版,更新到最新的 5.6。印刷质量很烂,很多朋友都反映过这个问题,到时候还得找出版社商量下
请问一下,我想用Qt做个用滑鼠点一下就知道那点颜色的功能,要用什么来显示图片和哪种Signal知道点到哪一点?
图片使用 QPixmap 应该就可以了;但是对于图片,一般都没有鼠标点击的信号,可以使用 mousePressEvent() 之类的事件。
我也买了这本书~真的很适合我,谢谢你
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.
请问老师有什么办法么?
QSqlQueryModel
没有实现setData()
函数,所以你需要自己继承去实现这个函数和data()
两个函数才可以使用。豆子老师,请问有实现的思路么?我实现了好久都没弄好,就是Qt::DisplayRole,Qt::EditRole = 2,Qt::ToolTipRole这三个放入Tableview完全没效果,实现和实际数据完全不能分离,commitAll的时候QSqlQueryModel还是读取的是Qt::EditRole,可以做下相关讲解么?
豆子老师,我想在qtcreator 中查看源码,怎么样在其中导入qt源码。
Windows下建议不要这么做,QtCreator会崩溃的。。。Linux下没试过。
大佬好,请问再版的书可以购买了吗。
qt版本已经飙到5.7了。
目前还没有的
中国qt领军人物
过来赞赞。