Linked by Eugenia Loli on Wed 10th Mar 2004 07:07 UTC
Qt Trolltech was very kind to send us over a copy of the recently released "C++ GUI Programming with Qt 3" book, part of "Bruce Perens' Open Source Series". The book weighs in at about 400 pages and comes with a CD-ROM loaded with software not found elsewhere freely.
Order by: Score:
not a book comment but...
by janeiro on Wed 10th Mar 2004 07:21 UTC

i would like to see Trolltech abstract System Tray/Menu Bar/Task Bar functionality. While being called different things, all three provide similar enough functionality between KDE, OS X, and Windows respectively, that i don't think its unreasonable to get it abstracted as well.

other then that Qt is great. so easy to use, so easy to write good clean code with, and a blessing for portability on the three main choices for desktops! cheers to the Qt team!

I tend to agree
by Alex on Wed 10th Mar 2004 07:24 UTC

The book was pretty good, but should of had more personality and it should have included C++BuilderX (bccc 5.6)NonCommercial so that the people get the full, albeit non commercial edition of both Borland C++BUilderX and Qt 3.2.

I also think it would have been worth it to delay until Qt 3.3.

No use for Python
by Anonymous on Wed 10th Mar 2004 07:36 UTC

For anyone wanting to use this book to get a non-commercial Windows license for Qt3.2 for use with Python/PyQt, forget it.

The PyQt people are not going to produce a Windows non-commercial version to go with this book's Qt.

Although if you look hard enough, you can find a non-commercial Windows PyQt along with the BlackAdder demo support files (http://thekompany.com/products/blackadder/demovers.php3)

Do they support MinGW?
by Arend on Wed 10th Mar 2004 08:29 UTC

I'm using the commercial win32 version at work, compiled with mingw32.
I heard that the CD delivered with the book does not contain whe win32 source code, only dlls. Is this true?

If yes, does it contain a dll to be used with MinGW?

In other words: Does it include MinGW support?


Comparison with other Qt book
by Wee-Jin Goh on Wed 10th Mar 2004 09:36 UTC

How does this book compare with the O'Reilly book titles "Programming with Qt"?

Re: Do they support MinGW?
by Hugo on Wed 10th Mar 2004 10:45 UTC

You only need the dlls, if you don't want to access the dlls functions directly via DLLGetHandle() and instead want to use an import library for the dll you can use the dlltool to create one:
http://webclub.kcom.ne.jp/ma/colinp/win32/tools/dlltool.html

Dual licensing
by JJ on Wed 10th Mar 2004 12:55 UTC

Looks like another must buy.

I am intrigued by the Qt dual lincense for $ and for non $. Does the Qt world make it work for TrollTech, ie does TrollTech lose much to any commercial company that doesn't pay or is the market fair?

Does any other company use similar dual license?, I am interested in applying it myself to other HW/SW intellectual property. I want lots of people using it for free to establish technology, but also some proper $ licensing for vol users.

MySQL does dual license
by The Prophet on Wed 10th Mar 2004 13:09 UTC

Every day there are more companies doing so-called "dual license" software.

MySQL is certainly successful. Sleepycat / Berkeley DB is another one. I'm sure there are many others.

Re: Dual licensing
by C. Smith on Wed 10th Mar 2004 13:52 UTC

IIRC, SleepCat has a similar approach for BerkleyDB, but do check.

Re: Re: Do they support MinGW?
by Arend on Wed 10th Mar 2004 14:28 UTC

"You only need the dlls"

I am afraid your suggestion won't work. Unless I'm totally mistaken, your suggestion will only work with C code, not C++ code.

I think it is next to impossible to use C++ across compilers, because the internal C++ data structures and the function name mangling is virtually guaranteed to be different between compilers.

So, AFAIK you *will* need dlls compiled with the compiler you want to work with.

Other books, recommendations
by PCS305 on Wed 10th Mar 2004 16:47 UTC

I want to start GUI programming with C/C++. And this is one of the only books I can find on the subject. What other books are out there to help a newbie?

trolltech docs
by Anonymous on Wed 10th Mar 2004 17:34 UTC

Hi

if you want to start with the qt, check out the unofficial as well as the official qt tutorials. they are extensive in trolltech's site.

Jess

tray icon and more
by philci52 on Wed 10th Mar 2004 17:54 UTC

I believe that the PSI project (http://psi.affinix.com) has the tray icon abstracted. Also, this was posted earlier today on the Qt mailing list:
"
If anyone's trying to order the Qt book "C++ GUI Programming", you're going to have to wait a while. This is the message I got from Amazon:

Regarding your order for "C++ GUI Programming" (ISBN: 0131240722), we wanted to advise you of a change in availability.

Unfortunately, the publisher has informed us that they are currently out of stock of this title. However, a reprint has been scheduled for 18 March, 2004. Please note that this may be subject to further delay.

- Keith
"

Seems this book has been more popular then they expected.

Amazon
by RobotIntestines on Wed 10th Mar 2004 18:22 UTC

I ordered it from Amazon on Monday, and it is supposed to arrive on Thursday.

Similar book for PyQT?
by rodrigo on Wed 10th Mar 2004 18:23 UTC

I'd like to find a similar book, but for Python instead of C++, for the latest Qt versions (3.x)

Any tips appreciated...

RE: Similar book for PyQT?
by Joe Redneck on Wed 10th Mar 2004 18:38 UTC


Just use the regular Qt reference and docs. The API is the same whether its Python or c++. There's really not much a python/pyqt book could offer that is not in the c++ book, other than a python tutorial, but thats not what these books are about. This is a very common request/query, and I honestly can't figure it out.

API is API. if you know your language, the API docs will makes sense.

PyQt book
by Boudewijn on Wed 10th Mar 2004 22:00 UTC

There are some subtle things that make working with PyQt different from working with C++ Qt -- for instance in the signals/slot mechanism, or the conversion between Python strings and QStrings. My book on PyQt (http://www.opendocs.org/pyqt) was quite succesful, and I still get a fair number of queries about it. (The publisher has quit distributing it to Amazon, it seems, and has removed his own shopping app, so I'm reduced to distributing my author's copies.) I'd do an updated version if I had the time, and if I weren't busy learning C++ and working on Krita.

Re: PyQt book
by rodrigo on Wed 10th Mar 2004 22:19 UTC

Thanks for the info Boudewijn.
Is there a place where I can download the book as a single pdf file? I usually like to print it at work and read it at the subway... ;)

Qt/Win32 GPL
by reduz on Thu 11th Mar 2004 01:11 UTC

Actually, the GPL port of Qt 3.0 to win32 is nearing completion, and it works pretty well and fast at kde-cygwin.sf.net I ported
a few apps to it and it works suprisingly well (specially displaying all the widgets) the problem is that they really lack developers
to finish all the little details like file selection dialog and many other little things..

but...
by frank on Thu 11th Mar 2004 04:09 UTC

QT is not STD C++ compliable, and I don't like their license. I use wxWindows in all of my projects instead. Take a look and see how nice it is at
http://www.leiosoft.com/products.htm.

@Frank
by Aaron J. Seigo on Thu 11th Mar 2004 04:36 UTC

exactly which part of Qt is not STD C++ "compliable" (a combination of compliant / compatable?)?

and since you brought it up, IME wxWidget is nice but not as well designed, documented or supported as Qt is =)

understand why it isnt
by Anonymous on Thu 11th Mar 2004 06:02 UTC

Hi

"QT is not STD C++ compliable, and I don't like their license. I use wxWindows in all of my projects instead. Take a look and see how nice it is at
"

thats bcoz the signal slot mechanism has not equivalent in std c++. c++ itself wasnt standardised when qt came out first and the c++ template mechanism is still very close to macro expansion that a generic framework. the standard libraries also didnt exist. once the qt moc parser works over the specific parts the rest is done with gcc. so its no fault of qt.

regards
Jess

People, signals and slots ARE C++!!!!!
by Roberto on Thu 11th Mar 2004 17:04 UTC

Maybe you missed it, but if you apply a C++ compiler to Qtīs source code, it builds, giving no errors.

As far as I know, thatīs a pretty good proof of it being C++.

Maybe itīs not the C++ you like, or doesnīt use your pet feature, but saying "itīs not C++" or even "itīs not standard C++" is stupid.

@frank
by Rayiner Hashem on Thu 11th Mar 2004 18:49 UTC

I used to dislike the Qt way of doing C++, until I really understood why it is the way it is. C++ is a very static language. Its template mechanism, which is the focus of most recent innovations in C++ design, is especially so. GUIs, however, are particularly well suited to a dynamic language. Consider: why are developers so enamoured with Cocoa and Objective C? Its because Objective C is a dynamic language, and Cocoa is a well-designed API that takes advantage of that dynamicity.

Moc buys you a lot of things that C++ just doesn't do. Qt's signals and slots are a lot more flexible and easy to use than a template-based mechanism. Further, moc gives you a general property mechanism (especially useful for things like Qt Designer), extended runtime information, persistance of properties, etc. The explicity hierarchy of objects created by QObject also greatly simplifies memory management. All of these things address some fundemental limitations of C++ as a language for coding GUIs.

Read the rationale for moc at the TT website:
http://doc.trolltech.com/3.3/object.html
http://doc.trolltech.com/3.3/templates.html