maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   Qt 4.6 for beginners (https://talk.maemo.org/showthread.php?t=35781)

Dexter1759 2009-12-03 08:41

Qt 4.6 for beginners
 
Hi All,

I noticed recently that Qt 4.6 has been released. I read an article somewhere that contained a youtube video, showing the SDK being used in Carbide, but only for use with Symbian S60 5th atm, with Maemo support to come later.

As a windows user I'd love yo be able to learn to program for my (and hopefully everyone elses) N900. From the youtube video, it seemed a really nice and logical way to program using Qt 4.6 and I think I could get into it (having a VBA programming background).

Annoyingly, I can't find the website I was on that showed that youtube video. So I thought I'd come here and ask for advise on where to start? Or if I'm barking up completely the wrong tree and don't really know what I'm on about.

Many thanks,
Dex

[Edit] PS. the video showed the development of a simple "form" with a text control, add button, list box, and clear button, using Qt 4.6 for Symbian S60 5th edition.

edgedemon 2009-12-03 09:01

Re: Qt 4.6 for beginners
 
It would be nice if anyone knows any Qt for beginers resources online that they post here as this could become a popular question and when I have searched, there isn't that much around for beginners, more for dev's moving from another language to QT

So far I have found

http://www.youtube.com/view_play_lis...E601663DAF3A14
http://qt.nokia.com/developer
http://thelins.se/learnqt/tutorial/
http://www.tuxradar.com/learnqt

Hope this helps someone, though I don't think it will help the OP - sorry

Dexter1759 2009-12-03 09:17

Re: Qt 4.6 for beginners
 
Cheers, thanks for the links. I've done a bit more googling since posting and discovered I don't need carbide at all, Nokia have something called Qt Creator, which would probably be more suitable for beginners (could be wrong). It's available to download from http://qt.nokia.com/developer

Also, I thought Qt, was it's own programming language, but it seems it's C++. So what is Qt? Is it a derivative language? Or some kind of API set that can be called/used by C++? please forgive my ignorance, as mentioned I'm coming from a VBA background which I appreciate is very different from C++.

vkv.raju 2009-12-03 09:23

Re: Qt 4.6 for beginners
 
http://doc.trolltech.com/3.3/faq.html#1-1
What is Qt?

Qt is a multiplatform C++ GUI toolkit. It provides application developers with all the functionality needed to build applications with state-of-the-art graphical user interfaces. Qt is fully object-oriented, easily extensible, and allows true component programming.

Qt is supported on the following platforms:

* MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP
* Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX and a wide range of others
* Macintosh -- Mac OS X
* Embedded -- Linux platforms with framebuffer support.

It has become the emerging standard development environment for IT professionals who want to:

* Write (and maintain) a single source-tree.
* Port their applications to multiple platforms with a simple recompilation.
* Internationalize their applications.
* Provide their applications with native look and feel.
* Have their applications run at native speed.

timoph 2009-12-03 09:23

Re: Qt 4.6 for beginners
 
Quote:

Originally Posted by Dexter1759 (Post 406929)
Also, I thought Qt, was it's own programming language, but it seems it's C++. So what is Qt? Is it a derivative language? Or some kind of API set that can be called/used by C++? please forgive my ignorance, as mentioned I'm coming from a VBA background which I appreciate is very different from C++.

Qt is a complete C++ application development framework, which includes a class library and tools for cross-platform development and internationalization.
(from http://qt.nokia.com/developer/faqs/211)

So basically it's c++. The Qt framework on top of c++ just makes things easier.

Edit: I was slow :(

nashith 2009-12-03 09:29

Re: Qt 4.6 for beginners
 
Qt is a GUI toolkit just like GTK+, You use various programming languages to write application code and link it up with Qt for the GUI part. Qt creator is an easy IDE for both designing and programming GUI application for many platforms. If you know C++ with addition to VB, you would be right at home.

danielwilms 2009-12-03 09:31

Re: Qt 4.6 for beginners
 
Hi,

there is a good overview of links about how to learn Qt. To inform you about the latest status of Qt for maemo I would recommend to read the blog-post of Kate about exactly that topic.

Cheers Daniel

edgedemon 2009-12-03 09:43

Re: Qt 4.6 for beginners
 
Quote:

Originally Posted by danielwilms (Post 406962)
Hi,

there is a good overview of links about how to learn Qt. To inform you about the latest status of Qt for maemo I would recommend to read the blog-post of Kate about exactly that topic.

Cheers Daniel

I saw that site but...

We assume that you already know C++ and will be using it for Qt development.

There seems little out there for programming noobs..

sjaensch 2009-12-03 10:59

Re: Qt 4.6 for beginners
 
If you are a total beginner, maybe Python would be an easier language to start with. Just google "Python tutorial" (or "C++ tutorial" if you want to jump directly into C++) and start having fun. :)

pillar 2009-12-03 11:17

Re: Qt 4.6 for beginners
 
QtCreator is fine for creating Qt code, but the thing missing is easy running configuration for your apps in scratchbox from QtCreator. Right now I think the only way to do this is manually and it can be hard for someone new to all of this.

I too think this is something that those making documentation and tools should concentrate on. I am sure there are many of us that haven't done maemo development before and probably are using windows as well as their main OS. Learning Qt isn't the problem, it is how to setup everything that seems to be the hardest part right now.

Sasler 2009-12-03 11:25

Re: Qt 4.6 for beginners
 
Quote:

Originally Posted by pillar (Post 407210)
QtCreator is fine for creating Qt code, but the thing missing is easy running configuration for your apps in scratchbox from QtCreator. Right now I think the only way to do this is manually and it can be hard for someone new to all of this.

I too think this is something that those making documentation and tools should concentrate on. I am sure there are many of us that haven't done maemo development before and probably are using windows as well as their main OS. Learning Qt isn't the problem, it is how to setup everything that seems to be the hardest part right now.

I agree. But what I would prefer even more, would be a Maemo emulator running straight from Qt Creator. Anyway, there is a Brainstorm about this:

http://talk.maemo.org/showthread.php?t=33371

http://maemo.org/community/brainstor..._and_maemo_sdk

naabi 2009-12-03 11:28

Re: Qt 4.6 for beginners
 
I would also like to use Qt designer with Maemo styles, but don't know whether this is possible. I think the Qt designer is a nice tool for a beginner even though it easily drives your code to follow some kind of God Object pattern.

Dexter1759 2009-12-03 11:55

Re: Qt 4.6 for beginners
 
Quote:

Originally Posted by sjaensch (Post 407177)
If you are a total beginner, maybe Python would be an easier language to start with. Just google "Python tutorial" (or "C++ tutorial" if you want to jump directly into C++) and start having fun. :)

Hmmmm I'm torn now, lol. Having never ever looked at Python. Why would it be a better option? What can't it do that Qt can? etc?

I noticed that there is an app for Maemo 5 called PyGTKEditor does that only do the auto-indent, syntax highlight, etc. Or could I write something and run/test/compile it on the device?

Thanks for everyones replies btw. I'm currently downloading QT Creator and QT SDK (though it seems it's only for Symbian atm, what is hte difference between the Symbian and Maemo SDK - when it's out - I thought QT was meant to be multiplatform - or am I being think?) and will work through the Address Book tutorial to see what I can learn.

naabi 2009-12-03 12:27

Re: Qt 4.6 for beginners
 
Quote:

Originally Posted by Dexter1759 (Post 407299)
Hmmmm I'm torn now, lol. Having never ever looked at Python. Why would it be a better option? What can't it do that Qt can? etc?

Python runs on top of interpreter, so no need to compile and learning curve is considered to be very low compared to C++. Python also enables using C libraries, and Qt bindings for Python do exist.

Nokia is not promoting well known PyQt bindings because of licensing issues, it's building its own bindings called PySide. My current knowledge is that latter is quite immature currently, so stick to PyQt. Licensing difference between these two is that PySide is LGPL, PyQt uses the heavy one.

Kieron 2009-12-03 12:33

Re: Qt 4.6 for beginners
 
I too was going to start programming a basic app in Qt, but got completely put off in Qt Creator a few weeks ago. Might jump back in.

aspidites 2009-12-03 12:47

Re: Qt 4.6 for beginners
 
+1 for PyQt/PySide

While I took some C++ classes in college, after years of inactivity I found it too daunting/frustrating trying to jump back into it, let alone wrap my head around the fact that Qt kind of bends the rules as far as C++ is concerned.

At that point I decided to learn Python and PyQt at the same time, which was surprisingly easy. The aforementioned lack of a compile cycle reduced the time it took to recover from simple errors, the syntax/indentation rules helped to keep my code clean and readable, and the documentation is among the best I've seen.

As for PyQt/PySide themselves, I find Qt to be the most powerful, attractive, and versatile toolkit of them all. GTK lacks native docking widgets and is an eye sore on Macs, and IMHO wxWidgets has too many widgets that feel incomplete -- where as Qt has less widgets, but each is pretty flexible. I also like the idea that I can write code once and run it presumably anywhere-- Linux, Mac, Windows, and even mobile platforms!

As for learning, I found Rapid GUI Programming with Python and Qt to be superb, but the online Qt and Python documentation may be enough for you. Be forewarned, the PyQt documentation is lacking in some places, citing C++ code instead of Python code in some places, though the differences are generally easy enough to sort out.

attila77 2009-12-03 12:56

Re: Qt 4.6 for beginners
 
[shameless plug]

For an overview how this whole Python - Qt - Maemo thing works, take a look at the Summit PyQt presentation

There is a Python/Qt dev guide also on the way from yours truly, but writing docs is not nearly as fun as coding so it's coming along a bit slower than expected :)

[/shameless plug]

kalexm 2009-12-03 12:58

Re: Qt 4.6 for beginners
 
Is there an alternative to the QTCreator? I'm an eclipse junkie and (normally programming Java) started dooing some C and C++ with eclipse and it feels so much better than the QT-Creator, for coding. The QTCreator is great for the creation of the GUI aspects. Are there tools to integrate QT tighter into eclipse - are there QT-eclipsers out there?

sjaensch 2009-12-03 13:07

Re: Qt 4.6 for beginners
 
There is a Qt plugin for Eclipse: http://qt.nokia.com/developer/eclipse-integration
Unfortunately, it is not available for Mac OS X.

Big Phat Jan 2009-12-03 13:16

Re: Qt 4.6 for beginners
 
In this post timoph posted a nice link to a very easy to follow book on Qt programming with C++. Definitely worth a read!

Jan

Kieron 2009-12-03 17:21

Re: Qt 4.6 for beginners
 
I sourced the 2nd edition of this ebook and uploaded it below. It is the GRB version, runs fine as windows help, much easier to read imo. Not executable or anything, no malware etc.

http://rapidshare.com/files/31579870...nd_Edition.chm

rm42 2009-12-03 20:11

Re: Qt 4.6 for beginners
 
These appear to be good tutorials:

http://www.diotavelli.net/PyQtWiki/Tutorials

pillar 2009-12-03 22:19

Re: Qt 4.6 for beginners
 
forum nokia qt for maemo guide shows how to install esbox, which is on top of Eclipse. It even is supposed to have integration from windows to a wirtual machine running maemo sdk so you could do your development in windows. I tried but couldn't get the needed folder share to work. I don't know how well Qt is integrated (code assist and so on). It would be nice to know if someone has set this up successfully.

mmurfin87 2009-12-05 04:41

Re: Qt 4.6 for beginners
 
Guys I found this earlier today after researching a LOT on how to get started with maemo5 and qt. Its VERY helpful and answered all my questions.

http://www.forum.nokia.com/piazza/wi..._v0_5_Beta.pdf

qgil 2009-12-05 08:59

Re: Qt 4.6 for beginners
 
http://forum.nokia.com/maemo is a good starting point for all things related with Maemo development, even more if Qt is your area of interest.

ossipena 2009-12-11 20:31

Re: Qt 4.6 for beginners
 
a source simple qt example to maemo5 would be very appreciated. just an app with dialog or two plus the menu that opens when tapping title bar.

almost everything else I can handle but those two seem to be way too hard to me... I've tried to fight with dialogs with zero progress for a while.

go1dfish 2009-12-11 20:41

Re: Qt 4.6 for beginners
 
Another recommendation here for python as a great way to learn Qt.

I have a little pyqt4 app (guitar fretboard diagrammer) I ported to Maemo/PySide a couple of days back will post the source soon as I have a chance to document it a bit.

timoph 2009-12-11 20:44

Re: Qt 4.6 for beginners
 
menu should work automatically when you add it to QMainWindow. if you're using older version of 4.5.3 you must add QActions to menu named fremantle. dialogs should work out of the box.

attila77 2009-12-12 01:33

Re: Qt 4.6 for beginners
 
Take a look at

http://blogs.forum.nokia.com/blog/ka....5.3-and-qt4.6

You've got some docs there and as far I can see a simple dialog example showing how to do things in both 4.5 and 4.6 incarnations of Qt4 Maemo

qgil 2009-12-12 08:12

Re: Qt 4.6 for beginners
 
You are invited to have a look at http://gitorious.org/miniature which is a Qt 4.6 app running in Maemo 5.


All times are GMT. The time now is 04:13.

vBulletin® Version 3.8.8