Avenues from where newbies can learn Qt
The Unlikely Source
Qt is Open Source, the code is available for us to peak inside and learn. But let be honest it’s unlikely that we do that. I have for once found the need to do so, to find if the implementation took ownership of the memory allocation or not. The Source is the ultimate source from where one can learn.
Assistant is the collection of Qt Documentation shipped along with Qt SDK. The documentation catalogs all classes and modules. It offers API description, code snippets on API usage. Assistant should be the first place where one should head to when in doubt. Look at the appropriate class, ask yourself if your looking for an expected SIGNAL that should be emitted, or a SLOT for a setter function. Assistant allows user to search the documentation. Since Qt classes names are intuitive, just try searching for what you are looking. A year or two down the line of constant Qt usage you can recall few API in sleep.
I recommend all Qt Newbies execute/run each and every examples/sample shipped with QT once. Fiddle with it see how they work.
Why ? you ask.
2) Next time you have a new requirement you know which example you should look at, ( if you need to that is )
3) Studying Qt example would expose you to C++/Qt specifies idioms.
Once again RUN ALL QT EXAMPLES see what they do.
Spoon feeding please
Lets accept it, most us would just want to ask our problem and be answered. Lucky you if you have a mentor/senior in your team to answer it. If not then head straight to the qt-interest-mailing list , QtForum, QtCenter, stackoverflow. Qt Interest Mailing List is where you can ask your questions by sending an email and the same is send to all subscribers. Mostly someone out there answers your question.
I would suggest to newbies before they ask their questions
1) See if Assistant/Qt Documentation already answers your question,
2) Search the mailing list archive for someone must have asked the same question.
I subscribe to Qt/C++ tags on open source hosting sites Why ? Well the same logic behind running Qt Examples applies here. Here is a real life example How it helped me ?. I completed this visual programming language with my team. My Boss the CEO looked at it and said “Well it works and all, that’s good but …. uhmmm … something is missing ….. uhmm …. it’s doesn’t look cool”. He uses mac, and a blackberry what can you say. So the visual designer redesigned the UI. Here I the programmer who is color blind and thinks he completed the requirement met his deadlines. I know stylesheets but somehow the whole visual redesign sounded boring. So like all good managers I choose to delegate the non exciting part. Asked my subordinate to study couple of qt OSS projects hosted at qt-apps.org that made decent usage of stylesheet, and custom widget painting. The subordinates coded the stylesheet and application now looked like mirror image of the mocks.
Point is the subordinate eliminated the hit and trial process of learning. He became more productive and achieves the end result faster. So keep a tab on qt OSS that come out, run them or see their screenshots.
Here is the list of Qt Books you can learn from. I have read Foundations of Qt Development , C++ GUI Programming with Qt 4 (2nd Edition) – The official C++/Qt book , read selective chapters from An Introduction to Design Patterns in C++ with Qt 4 . In my personal opinion Foundations of Qt Development is better suited to newbies than other books. Design Patterns is a very helpful book if you ever work on a enterprise size product / large OOPS codebase with loads of design patterns being used. One can download the source code that comes along with these books for free too.”
Blogs and Feeds
Blog is the new It thing isn’t it. We have Qt Labs Blogs where the Trolls (Nokia employees working on Qt) blog. I highly recommend you subscribe to Qt Planet. It does the noble task of aggregating Qt specific blogs, so you don’t have to go and find Qt specific blogs.
I personally have benefited at lot from Qt. Knowledge of which got me my first job 3 years back. Since then I have been learning it from the above avenues. Hope if help you too.
Author Information: Ankur is Yet another Indian Software Engineer. He stays with his parents in Mumbai. He is passionate about anything computers, sci-fi, entrepreneurship. He wishes to start his own product based Micro-ISV someday and live happily ever after. You can contact him at versesane -> gmail.
This entry was posted on Monday, April 27th, 2009 at 10:05 and is filed under Guest Entries, Tips and Tricks. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
Leave a Reply
You must be logged in to post a comment.