Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

A book on Qt5?



  • Coming from Amazon, all the books on subject Qt are focused on Qt4 (some even on Qt3) - with the beta of Qt5 already available and the final release hopefully approaching, are there (plans for) any Qt5 books, focusing on the more recent features of Qt? Even thou Qt Quick is part of Qt4, its late arrival resulted in its total absence from books on Qt4.

    Devtalks are somewhat informative but don't come nowhere near the informational value of a good a thorough book.



  • In my opinion you should wait for a stable version of Qt 5 first. No point for someone to publish a book while Qt 5 is still in beta.



  • Is Qt 5 beta version available ?



  • [quote author="aabc" date="1338960498"]Is Qt 5 beta version available ?[/quote]

    Please have a look at "Qt 5 roadmap and release plan":http://qt-project.org/wiki/Qt_5.0#d50ae403cb49a205bdf789f377f5cfe6



  • The release plan is unfortunately not up-to-date. There will be (most probably) a first beta available around the contributor summit at the end of June.



  • That, and there is nobody with sufficient experience in Qt5 who has time to write a book at the moment. If one would be published, I would be rather conspicuous. :-)



  • In my first post I meant Alpha rather than beta, sorry if that caused confusion, I see that leon also mentioned beta, probably following my mistake :)

    I hope Johan Thelin is cooking something up, I found his take on teaching Qt to be the easiest to digest for me.



  • I hope that there will be a good book on Qt 5 and Qt Quick in the future. We are learning a lot from the doc and the wiki and of course from each other, but sometimes it's also good and quite useful to read a book and discover new modules :)



  • I am gonna do a book about QtQuick1 ...and I have no experience with Qt 5 ...



  • Hum... good post!. The changes in Qt 5, sounds good,



  • Hi , I like Qt very much and I want to write a book about Qt5.
    I have opened a public repo on github , check this https://github.com/longlongh4/coolqt , you can visit http://www.coolqt.com to view the book via web browser.
    If you are interested in this project, contact with me, let's write it together~



  • I don't really think compiling existing QML tutorials in a "book" is of much use. The reason a QML development book is needed is because people need more in-depth information on the subject on top of the trivial information of how to use individual QML features. There are enough QML examples of how to use the language and how to get nice eye candy quickly and easily, what is needed is a QML development primer for developing more complex real life applications, the workflow it involves, separating large scale C++ logic from the QML GUI, extending the language and so on.



  • Actually I think Qt 5 is the super set of Qt 4. So most of the libraries are same as Qt 5 as Qt 4 and also what is new at Qt 5 has published at Qt website. So if you know C++ very well and read books prior to Qt 5 and if understand hole things then Qt library reference is enough for your professional development.



  • Yes you are right, the only Qt4 stuff that is missing from Qt5 is the Qt3 compatibility modules.

    But still, there is plenty of material on C++, which is essentially Qt4. There are about 6-7 very good books on Qt with C++ and when it comes to C++ in depth, I have a whole bookshelf of amazing in-depth books, but the issue at hand is QtQuick2 development.

    The main focus of Qt5 is QML, which is what the developer community needs. There are plenty of examples and there is the documentation on QML, but most of it is very basic, there are only 2 QML tutorials I can think of that go into some depth, but don't cover much ground as well.



  • Agree with utcenter, we need in-depth QML tutorial



  • The documentation on "QtQuick":http://qt-project.org/doc/qt-5.0/qtquick/qtquick-index.html has actually improved a lot for Qt 5, providing loads of tutorials, examples and descriptions.

    Is there anything particular you are missing?



  • bq. The documentation on QtQuick [qt-project.org] has actually improved a lot for Qt 5

    The comments are base on the image of Qt4.
    Trying Qt5, will give some feedback after I finish the tutorial of QtQuick2.



  • I study the documents about QML(Qt5,not all of them yet).These are
    requests(or suggestions if you like) from an average programmer
    who try to master QML.

    1 : The documents list many elements and details of the QML, but it
    is scatter when compare to some elementary books like "foundation
    of Qt development". The book mention the concepts of Qt programming, and teach the reader begin with many simple
    examples step by step, explaining what are the codes doing.
    It is easier to learn if we have a book like
    "foundation of Qt5(QML) development"

    2 : If there are some thorough explanation of more complex apps
    like "c++ gui programming with Qt4",
    "advanced Qt programming" with the examples of QML, it
    would be a big help.

    Maybe many veteran don't need those things, but it should be
    friendly for some newbie like me.Anyway, thanks for the documents
    and examples, the documents become easier to read and explain better
    than Qt4 version.

    ps : I know these kind of books take times to write, anybody has a will to start?



  • [quote author="Lukas Geyer" date="1356165361"]The documentation on "QtQuick":http://qt-project.org/doc/qt-5.0/qtquick/qtquick-index.html has actually improved a lot for Qt 5, providing loads of tutorials, examples and descriptions.[/quote]

    Agreed, if by "improved a lot" you mean the tutorials are incomplete, broken or the code is missing altogether... Did you actually try it, or you are yet again speaking "by hearth"?

    "QML Tutorial 1 - Basic Types":http://doc-snapshot.qt-project.org/5.0/qtquick/qtquick2-qml-tutorial1.html - code missing
    "QML Tutorial 2 - QML Components":http://doc-snapshot.qt-project.org/5.0/qtquick/qtquick2-qml-tutorial2.html - code missing
    "QML Tutorial 3 - States and Transitions":http://doc-snapshot.qt-project.org/5.0/qtquick/qtquick2-qml-tutorial3.html - code missing
    "Getting Started Programming with Qt Quick":http://doc-snapshot.qt-project.org/5.0/qtdoc/gettingstartedqml.html - broken and incomplete
    "QML Advanced Tutorial":http://doc-snapshot.qt-project.org/5.0/qtquick/qtquick2-qml-advtutorial.html - code missing

    Thankfully, at least the documentation is there, but sadly, for people that are completely new to programming it doesn't do much good.



  • This should be fixed in 5.0.1 (which does not mean that this should not have happened in the first place). Until then, the code is available in examples/quick.



  • Definitely, IMO a paper book is much better for begginers. And for sure it will come, Qt is to much important in the industry, someone will eventually write it.
    Meanwhile, patient is a virtue ...



  • This can be a good starting point for QML:
    ftp://ftp.informatik.hu-berlin.de/pub/Linux/Qt/QT/developerguides/qtquickappdevintro/QtQuickAppDevIntro.pdf
    This is a 113 pages doc (Introduction to Application
    Development with Qt Quick) about the QML, and is relatively updated.
    (it has code too: ftp://ftp.informatik.hu-berlin.de/pub/Linux/Qt/QT/developerguides/qtquickappdevintro/ )



  • ^^To me it looks like it is QtQuick1 / Qt4 based, and while the QML syntax is essentially the same, the backend and extension API are completely changed and there isn't much point of learning QtQuick1, which is pretty much a done deal.

    Obviously, Qt 5.0 was rushed to release before xmass/end of the year, before it was actually completed. While Qt5 itself works I can't really consider the release to be completed with the vast majority of resources covering the new features being missing or broken.

    So the logical question is when is Qt 5.0.1 scheduled?



  • bq. "Introducing Qt 5.0":http://blog.qt.digia.com/blog/2012/12/19/qt-5-0/
    ...
    There are a few things we’re still working on for the 5.0 series. We have bugs that we want to fix. We currently do not have binary packages for MinGW (as WebKit doesn’t yet work with it yet) and MSVC 2012 (you’ll need to compile from source), and we’ll work on delivering these as soon as possible. The current plan is to have a first patch level release, 5.0.1, some time before the end of January.
    We’ll then be aiming for a Qt 5.1 release some time in Spring 2013, where we’ll mainly focus on stability and bringing modules such as Qt 3D and Qt Sensors into the Qt 5 base distribution. We also hope to be able to show some preview releases of the Qt ports for Android and iOS within the same time frame.
    From there on, we will move over to a fully time based release schedule with feature releases twice a year.
    ...



  • So any day now... Personally I am waiting for 5.1 and the nice new OpenGL goodies it will bring. Hopefully it won't be delayed like 5.0...

    BTW on a dev days video I found out that there is an "Effective QML" book in progress... so there is at least one book on the way, not sure on its release schedule though.



  • Did you actually try it, or you are yet again speaking “by hearth”?
    Dear UtCenter, I am not a qml expert nor Qt expert, sorry
    for my immature opinions since I haven't really finished
    all of the tutorials.Qt5 is not perfect, but atleast it is moving on.
    I don't want to be too harsh on Qt5 , because I
    never paid a cent nor do any contribute to the communities.

    I studied the codes directly from the examples/quick.
    I haven't finished all of them yet, atleast the examples of Animations
    are more "tight" and easier to read since the last time I
    studied(almost half year ago, because lack of components I go
    back to QWidget).

    I still insist it would be good to have a book could tell
    us what are the codes actually doing.

    Examples

    color-animation.qml
    I didn't know why the moon and sun never show on the bottom
    until I tweak the codes and try different combinations.

    wigglytext.qml
    I took some times to figure out each components represent
    a single "text".Besides, I don't know how to get the visual
    elements if there are more than one component other than
    "letterComponent".

    The biggest problem is, I have to check the tutorials here and
    there if I want to understand the examples provided by Qt5.
    Pretty inconvenient, this problem did exist since Qt4.

    Working and studying QtQuick in my spare times since it will
    become the major features of Qt, and I would like to adapt with
    it and try to use it on a project but have to wait until most of the
    member think Qt5 is mature.



  • Ah, books for the people.
    I haven't played with qt since qt3, the sad truth is that though I've worked as a system developer for 12 years I never learned to speak C++ fluently.
    Now however, I admit that the Ubuntu devices made me very interested in QML since I became bored of developing android apps. So, I hope I'll get the time to help out with tutorials in the future and I'll definietly buy any book about it!



  • I look for a book QtCreator?





  • docs on the site is good for professionals, but for beginners paper book is perfect. for learning from beginning summerfild's book about qt4 is perfect. we will wait when somebody write book about qt quick 2.0 .



  • I would be interested in writing another Qt book covering Qt 5 to go along with my existing Qt books.

    http://www.barnesandnoble.com/w/the-minimum-you-need-to-know-about-qt-and-databases-roland-hughes/1023810530?ean=9780982358047

    http://www.barnesandnoble.com/w/the-minimum-you-need-to-know-about-mono-and-qt-roland-hughes/1106587128?ean=9780982358085

    I would not be interested in covering Quick, QML, or HTML5 since I consider those to be dead architectures. I don't care if they are new, they are stillborn. The current "big ticket" Qt development has to do with embedded systems (both true and semi), general business applications, and hand held applications with severely limited battery resources. Quick, QML, and HTML5 are poor choices for those targets.



  • [quote author="seasoned_geek" date="1366824041"]I would not be interested in covering Quick, QML, or HTML5 since I consider those to be dead architectures. I don't care if they are new, they are stillborn. The current "big ticket" Qt development has to do with embedded systems (both true and semi), general business applications, and hand held applications with severely limited battery resources. Quick, QML, and HTML5 are poor choices for those targets.
    [/quote]

    But QML / Quick is getting all the attention of Qt development team. Also they say for mobile targets QML / Qtquick is the way to go. And mobile plataforms are booming. Also jumping from Qt4 widgets to Qt5 widget doesnt seem hard, the problem is jumping from Qt widget to Qt QML/Quick. Also in the upcoming Qt5.1 and 5.2 there will be integration with QtQuick components that are supposed to do the same that widgets components do, but in a QML way.
    However QML documentation is still scarce, but that is changing as Digia releases new tutorials, and it seems someone is already baking a QML book. So to me it doenst make much sense writing a Qt5 book without mentioning QML / Quick.
    But you make a good point, and it would be really interesting to see some statistics showing within the Qt industry universe, the use of QML versus widgets, in the diferrent areas of desktop, mobile, embebed ...



  • By the way, right now I'm following these tutorials "http://qt-project.org/wiki/Developer-Guides ":http://qt-project.org/wiki/Developer-Guides They seem very good for begginers. I found them "acidentally" reading some post in the forum. Is it just me, or the menus where they are (under the wiki) is a complete mess ? Such good material such not be so "hidden" within this site.



  • Early last year I was involved with some Automotive dashboard stuff. QML was definitely NOT the way to go. When you enter the world of limited resource environments, you want compiled code, not interpreted. QML worked for the few situations where a Web service was drawing everything and the device was more or less a dumb terminal.

    There is plenty of room for a Qt book which doesn't bother much with widgets but instead focuses on database, network, and the serial libraries. For embedded and semi-embedded environments these are the most important features. That and graphing speed so your application can chart 50-100K result/signals per second from remote devices.



  • I'm actually looking for a QT 5 book, and can't seem to find any. Are there any news on this front?


  • Moderators

    Several people are thinking about it, but I don't think anybody has started writing an actual book.



  • I have not started one. I'm currently busy at a client site working in Qt. I also have two other books to get done and market before starting another Qt or IT based book.

    Not Qt related, but this is the one I just finished.
    http://www.barnesandnoble.com/w/john-smith-roland-hughes/1102176003?ean=9780982358061

    A print version is done as well, just not listed yet. Audio version should be done in less than a month, final editing occurring now.



  • Thanks for the answer, I guess I'll only use the qt wiki.



  • the best resource for learning qt is Qt Assistance.



  • I can't understand why the books on Qt5 are so few.
    Many, many thousand programmers (professionally) has had access to what has been in beta for quite some time now.
    When a new version of C# comes out there are already books on the subject. Even good books, like C# In Depth, by Jon Skeet.

    I'm only learning Qt because I need a GUI for developing in C++, but if the documentation and books are so sparse I think I might find another GUI library to use in the meantime. Something like Wx or FLTK.
    But I guess there aren't many books on those subjects either.

    Maybe I'll keep coding console apps in C++ and use C# for the GUI stuff, who knows...

    Sad to say that the two books I've purchased on Qt 4 is about as valuable as a roll of toilet paper...
    Why not try to keep some sort of backwards compatibility options for those beginning their Qt journey? Instead all we get is a bunch of outdated and "Obsolete" materials. Personally I think that sucks big time.


Log in to reply