How and where to start Qt5
-
Hi guys,
I have some experience in C++ and want to start Qt5. I searched the web much to find a good book on it. But apparently there is no complete book on Qt5 for beginners :(
I really love to start Qt now. But I don't want to go through a wrong way.
I have heard that Qt Documentations are good to start with, but they just confuse a beginner like me :(
As well as, I couldn't find a reliable website that teaches Qt5 completely :(
And also I have heard that Qt5 isn't stable yet.What can I do now? Should I only wait for some months so that it will be stable and a complete good reference on it will be published?
Thanks in advance.
-
Hi and welcome to devnet,
There's indeed currently no complete Qt 5 book in english however you can safely take the Qt 4 references to get started. Most of them are still relevant to get you on started and for the minor differences the Qt documentation contains the migration path if any is needed.
What do you mean by "teaches Qt 5 completely" ? Qt is a vast framework so I would not consider trying to learn everything from it from the start as a good idea. Learn the modules you need to use, then expend on other that interests you. e.g. there's no need to start learning Qt3D if you are planning to develop a database front end.
Not stable yet ? Considering the number of projects using it actively I wouldn't consider it "not stable". Note that Qt 5.6 will be a LTS (Long Term Support) release.
-
Hi and welcome to the Qt forum! Great that you want to start using Qt.
It is true that there are only a handful of books available. The thing is that Qt is a huge framework with many many components and writing a book that covers everything will basically only reproduce our (excellent) documentation. Also the framework is a moving target as new modules are added and old ones become deprecated over time. The rumor you say you heard that Qt5 isn't stable is not true. It's solid and widely used in many industries and in the free software community.
It's a great advantage that you already know C++. In my opinion the easiest way to learn to use the Qt framework is to find a program that you want to have but that doesn't exist yet and then implement it. The documentation and this forum will be your best friends. :-)
-
Hi, and welcome to the Qt Dev Net!
@tomy said:
I really love to start Qt now. But I don't want to go through a wrong way.
I have heard that Qt Documentations are good to start with, but they just confuse a beginner like me :(
As well as, I couldn't find a reliable website that teaches Qt5 completely :(I recommend you start with http://doc.qt.io/qt-5/gettingstartedqt.html . Follow the tutorial closely (carry out every action yourself and type out the code yourself, don't just read it). By the end of this, you should know how to use many core concepts in Qt.
After that, you can continue learning by following more tutorials, and/or implementing small projects in Qt.
And also I have heard that Qt5 isn't stable yet.
Where did you hear this from? I find it very stable. If you take a program written for Qt 5.0.0 (released in 19 Dec 2012) and replace its DLLs with the Qt 5.5.1 (released in 15 Oct 2015) versions, the program would probably still run correctly, possibly even with performance improvements.
-
In addition to the tutorials already mentionned, I find the Cadaques book to be a great one (but mostly focus on QML), you can find it here : http://qmlbook.github.io/
I found the training materials (http://www.qt.io/training-materials/) very helpful to start having a good overview. -
The Cadaques book @Charby mentioned is really good; IMAO the official QML/QtQuick documentation is still a bit confusing.
-
Thank you all very much. You are really nice guys and I'm happy to be a member of here programming in Qt :)
I read all of your advices. Since Qt is very massive and have many directions (if I have understood it correctly) I like to mention my favorite stuffs. I like to first learn to write code for creating iOS and Android apps (applicable on smartphones). It is my first goal. After that I like to create programs for MS Windows.
As you say and I have heard it, the Qt documentation is very great, but for me as an absolute beginner of Qt, there is a problem :(
That is, it's not regularly arranged like a book. When you read a book, you start from page one then two through end. The documentation jumps form one subject to another (it's what I've seen when trying to use that documentation) and then I miss the path and cannot consistently follow all of the contents step-by-step.Dear JKSH suggested a start point. Now, for example, how to start from http://doc.qt.io/qt-5/index.html and then find a link that points to http://doc.qt.io/qt-5/gettingstartedqt.html?
That is, it's not clear how to use the documentation, at least in my experience.First I want (if you agree) to start from http://doc.qt.io/qt-5/index.html (because I think I should be familiar with Qt that what the Qt is at all) then find a link there that leads to http://doc.qt.io/qt-5/gettingstartedqt.html? (if it's good for my first directions that is being able to write iOS and Android apps).
Thanks again to all of you.
-
The first thing to know is your toolchain: Integrated development environment, version control system, build system, compiler, debugger, profiler. Although you can choose from a number of different tools I'd recommend to become familiar with Qt Creator, git, QMake and the compiler of your choice (gcc, Xcode, MSVC).
-
We also have a wiki. Content quality there varies from great to ... well, not so great :-) Two good articles there that I'd like to mention are What is Qt? and Qt for Beginners. You should also read the Qt Creator manual and the QMake manual.
-
@Wieland said:
The first thing to know is your toolchain: Integrated development environment, version control system, build system, compiler, debugger, profiler. Although you can choose from a number of different tools I'd recommend to become familiar with Qt Creator, git, QMake and the compiler of your choice (gcc, Xcode, MSVC).
Thank you Wieland, but to which need of me do the above comments refer to please?
@Wieland said:
We also have a wiki. Content quality there varies from great to ... well, not so great :-) Two good articles there that I'd like to mention are What is Qt? and Qt for Beginners. You should also read the Qt Creator manual and the QMake manual.
I read Wiki and What's Qt pages but since I don't have Qt creator installed on my Windows 7 x64 machine, I cannot follow Qt For Beginners part.
For a beginner like me with needs that I mentioned above, which flavor of Qt creator should I download and install please? The open-source one or the commercial one?
-
Go for the open source MS Windows installer: qt-unified-windows-x86-online.exe.
-
@Wieland said:
The first thing to know is your toolchain: Integrated development environment, version control system, build system, compiler, debugger, profiler. Although you can choose from a number of different tools I'd recommend to become familiar with Qt Creator, git, QMake and the compiler of your choice (gcc, Xcode, MSVC).
Thank you Wieland, but to which need of me do the above comments refer to please?
@Wieland said:
We also have a wiki. Content quality there varies from great to ... well, not so great :-) Two good articles there that I'd like to mention are What is Qt? and Qt for Beginners. You should also read the Qt Creator manual and the QMake manual.
I read Wiki and What's Qt pages but since I don't have Qt creator installed on my Windows 7 x64 machine, I cannot follow Qt For Beginners part.
For a beginner like me with needs that I mentioned above, which flavor of Qt creator should I download and install please? The open-source one or the commercial one?
@tomy said:
to which need of me do the above comments refer to please?
As you already know how to write programs in C++ you also already know that you'll need a code editor and a compiler. Qt Creator is the integrated development environment of choice for developing software with Qt. It has a code editor with integrated help system, code completion, syntax highlighting etc. It is cross platform, so Qt Creator runs on Linux, Windows and OS X. Git is the version control system of choice today for every software developer, no matter if she uses Qt, C++, JavaScript or anything else. Qt Creator has git integration. You can use git on any platform (Linux, Windows, OS X, ...). The choice for the compiler depends on your host and target platform. If you write software for Windows and have a MS Visual Studio license then you can use that compiler (MSVC). If you don't have such license you can use gcc for Windows. On OS X you will most likely use XCode's compiler (clang). On Linux you can use gcc or clang. You said you're on Windows. You can compile software for Windows and Android there. If you want to compile software for iOS you'll need a Mac. If you want to build your software for Linux you'll also need a Linux host.
-
Thank you all very much. You are really nice guys and I'm happy to be a member of here programming in Qt :)
I read all of your advices. Since Qt is very massive and have many directions (if I have understood it correctly) I like to mention my favorite stuffs. I like to first learn to write code for creating iOS and Android apps (applicable on smartphones). It is my first goal. After that I like to create programs for MS Windows.
As you say and I have heard it, the Qt documentation is very great, but for me as an absolute beginner of Qt, there is a problem :(
That is, it's not regularly arranged like a book. When you read a book, you start from page one then two through end. The documentation jumps form one subject to another (it's what I've seen when trying to use that documentation) and then I miss the path and cannot consistently follow all of the contents step-by-step.Dear JKSH suggested a start point. Now, for example, how to start from http://doc.qt.io/qt-5/index.html and then find a link that points to http://doc.qt.io/qt-5/gettingstartedqt.html?
That is, it's not clear how to use the documentation, at least in my experience.First I want (if you agree) to start from http://doc.qt.io/qt-5/index.html (because I think I should be familiar with Qt that what the Qt is at all) then find a link there that leads to http://doc.qt.io/qt-5/gettingstartedqt.html? (if it's good for my first directions that is being able to write iOS and Android apps).
Thanks again to all of you.
@tomy said:
Thank you all very much. You are really nice guys and I'm happy to be a member of here programming in Qt :)
You're welcome! :)
I like to first learn to write code for creating iOS and Android apps (applicable on smartphones). It is my first goal. After that I like to create programs for MS Windows.
I think it's easier to learn how to create programs for Windows than for Android and iOS. Because of this, I recommend you first spend a few days learning how to build a simple Qt program for Windows. This experience will help you learn how to write and build Qt programs for Android and iOS.
This is the sequence I recommend:
- Follow http://doc.qt.io/qt-5/gettingstartedqt.html closely. This teaches you how to use the Qt Creator IDE and build a small program for Windows.
- Follow http://doc.qt.io/qt-5/androidgs.html. This teaches you how to set up your system for creating Android apps.
- Follow http://doc.qt.io/qtcreator/creator-mobile-app-tutorial.html. This teaches you how to build a small program for Android and run it on your device.
- Follow http://doc.qt.io/qtcreator/creator-developing-ios.html. This teaches you how to set up your system for creating iOS apps.
- Go back to #3 and run the same program on your iOS device. (Note: You need to use OS X to develop iOS apps)
Another note: In #1, you will use the C++ language and the Qt Widgets module. In #3, you will use the QML language and the Qt Quick module. Qt Widgets is easier for beginners to learn (especially if you already know C++), but Qt Quick is more suitable for mobile apps.
Dear JKSH suggested a start point. Now, for example, how to start from http://doc.qt.io/qt-5/index.html and then find a link that points to http://doc.qt.io/qt-5/gettingstartedqt.html?
That is, it's not clear how to use the documentation, at least in my experience.The Qt documentation uses a reference format. As you have found out, you shouldn't try to read it from start to finish like a book.
Instead, use a search engine to find information about the topics that you are interested in. For example, you can fo to http://doc.qt.io/qt-5/index.html and type "getting started" into the search box.
First I want (if you agree) to start from http://doc.qt.io/qt-5/index.html (because I think I should be familiar with Qt that what the Qt is at all) then find a link there that leads to http://doc.qt.io/qt-5/gettingstartedqt.html? (if it's good for my first directions that is being able to write iOS and Android apps).
Personally, I think http://doc.qt.io/qt-5/index.html is not a good place to start. It leads to too many advanced topics, but It doesn't lead to http://doc.qt.io/qt-5/gettingstartedqt.html easily.
-
I thank both of you very much. I'm sorry for asking those many questions.
According to what I understood from your explanations, I'm going to do the following works, respectively. If any work is not suitable for me or you don't recommend it to me, please aware me of that.1- First I go to qt-unified-windows-x86-online.exe. and install Qt creator in default mode. Although I have MS VS 2015 licensed installed on my Windows machine, but I don't like Qt creator as an add-in to it. I like to have Qt creator as a complete IDE on my system.
2- Then after installing Qt creator I go through number 1 to number 5 of the last post of JKSH. I try to completely read and do the tasks/codes written there.
3- Then, I install a Mac OS on as virtual machine on my Windows machine. I think I should install another Qt creator on it to begin to write codes for iOS. Am I right?
4- And at the end, if I have any problem or question, I'll try to create a new thread about that or post the matter here.
Do you guys agree with these please?
-
Don't know about your point number 3 (I don't develop for OS X and iOS) but the rest sounds like a good plan. And don't hesitate to ask the forum. Good luck, young Padawan! ;-)
-
" I'm sorry for asking those many questions."
Well we kind lurk around here hoping people will in fact, ask questions :)
One note for 1:
You can use VS with Creator. as its compiler. So its also a full solution.
That said. Its less fuss just to use mingw
and install and have all just work out of the box. -
@Wieland said:
Don't know about your point number 3 (I don't develop for OS X and iOS) but the rest sounds like a good plan. And don't hesitate to ask the forum. Good luck, young Padawan! ;-)
Thanks. I appreciate your helps :-)
@mrjj said:
" I'm sorry for asking those many questions."
Well we kind lurk around here hoping people will in fact, ask questions :)Thank you. :-) That's very kind of you.
@mrjj said:
One note for 1:
You can use VS with Creator. as its compiler. So its also a full solution.
That said. Its less fuss just to use mingw
and install and have all just work out of the box.I'm sorry I didn't understand the above part completely. I'm not an English native speaker. :(
Do you mean that I can use Qt creator with VS 2015? Is it like an add-in item? Can it offer all of the stuff the Qt creator as a separate program offer? If so and you recommend it to me, where and how can I install it on my VS please? -
note part 1:
I was trying to say that using visual studio can also be good.
However, vs 2015 is so new that im not sure there is good support yet.
So I suggest just use the standard setup so U can get going fast.
sorry for the confusion. -
@mrjj said:
note part 1:
I was trying to say that using visual studio can also be good.
However, vs 2015 is so new that im not sure there is good support yet.
So I suggest just use the standard setup so U can get going fast.OK. I tried to install Qt creator in its normal way (connecting to the Qt resources) but faced an error. It's in the link below:
http://uploads.im/QXBsp.png
Is there any other way to download that Qt creator completely as a file please?@mrjj said:
sorry for the confusion.
Not at all, that's fine :-)
-
hi
http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-mingw492-5.5.1.exe
Note: this is full packet and do not use visual studio but mingw compiler.