The philosophy at Facebook is to move fast and break shit often.

Qt vs wxWidgets

Okay, I've been a big fan of wxWidgets for a while, on account of how easy it is to make things work.  But recently I figured I'd give Qt a look.

Holy cow, that stuff is awesome.  You can make a pretty professional looking wxWidgets app pretty easily (I can make it look better than Delphi apps no problem).  But the difference between wxWidgets and Qt is just gigantic.  It ships with a killer IDE and some pretty mind-blowing examples. 

Their rich text widget supports embedding SVG images.  Their docking is super-slick.  Forms automatically support stylesheets, so you can change you app by fooling around with CSS.
Permalink Send private email Clay Dowling 
March 25th, 2009 4:19pm
In short, I'm gonna have to play with this more.

The one downside is that Qt does require the customized compiler, because it adds features not normally supported by C++.  But it's pretty slick and I want to know more.
Permalink Send private email Clay Dowling 
March 25th, 2009 4:20pm
Is Qt the one with "slots" or whatever they're called, or is that wx?
Permalink Gerald Hoppy 
March 25th, 2009 4:26pm
Qt has pipes. Right?
Permalink Send private email sharkfish 
March 25th, 2009 4:27pm
There was a "slots" thing, and that's a new category of stuff in classes now.  I don't know if there's some kind of specific pipe thing, but I've only played with the demos.  There's a general OS concept called pipes, and I wonder if that's what you're thinking off.
Permalink Send private email Clay Dowling 
March 25th, 2009 4:31pm
No I am thinking of the event model.  I get the words jumbled up. 

"Signals" is the term.  Qt uses signals and slots.

Signal is also an OS term.  I love all the overlap. It gets to sound like meaningless gibberish after awhile.
Permalink Send private email sharkfish 
March 25th, 2009 4:33pm

for the curious.
Permalink Send private email sharkfish 
March 25th, 2009 4:35pm

for the up to date
Permalink Simon Jester 
March 25th, 2009 4:46pm
Still haven't figure how to make money with LPGL licensed Qt.
Permalink Send private email Rick Tang 
March 25th, 2009 5:25pm
> Qt has pipes. Right?

I don't think we should be talking about pipes and slots, I'll get all worked up.
Permalink Gerald Hoppy 
March 25th, 2009 5:27pm
is Qt  free and cross platform?

what languages have bindings?
Permalink guess worker 
March 25th, 2009 7:19pm
It's GPL or LPGL style of free, but you can still buy support contract.

Not sure about the bindings. I only know there is PyQt for python.
Permalink Send private email You want me to fail? 
March 25th, 2009 7:25pm
I am evaluating both, and haven't decided which one to go. One issue I have with QT is that it does not use native widgets. In my experiments, the QT app looks OK on OS/X, but not on Windows.
Permalink Glitch 
March 25th, 2009 8:55pm
Wikipedia says it does native widgets:
Permalink Send private email Almost Anon 
March 25th, 2009 9:20pm
I'm evaluating it on Windows, it looks slick as hell.  And it also looks native unless you throw some kind of styling at it.

As for language bindings, C++ works well.  Source language and all.
Permalink Send private email Clay Dowling 
March 25th, 2009 9:30pm
I mentioned it a while back:

Ignore the C++ purists (WTF is pure C++ anyway?), it might not be pure C++ but it works and doesn't affect your code. It's not a modified compiler, just a "pre-compiler" to add support for Qt mechanisms. On Windows, I've compiled both the library source itself and programs with gcc (MinGW) and VS.

Qt shows how a GUI library could be done on Windows, despite being crossplatform. But Microsoft have no incentive to provide a decent GUI library - as always they probably consider providing a good library as a threat to their desktop monopoly.

Cocoa is still the best though.
Permalink el 
March 26th, 2009 5:31am
Tell me more about this compiling with an unmodded compiler thing; I'm interested.  Because my only beef at all is the language extensions.  Not that I don't trust Nokia, but I'm using Delphi at work and I have first-hand knowledge of how bad it sucks to use a language supported by exactly one vendor.
Permalink Send private email Clay Dowling 
March 26th, 2009 8:54am
moc is really a preprocesser that processes the Q_OBJECT macro definition in the headers of Qt-specific classes, so as to support the signals and slots mechanism. After that you compile normally. So no problems with "normal" C++ mixed in.

Their make tool, QMake, does it all for you.

Of course, they only need to do this because C++ is not a real object-oriented language, as it doesn't support messaging :)))
Permalink el 
March 26th, 2009 9:24am

This topic is archived. No further replies will be accepted.

Other topics: March, 2009 Other topics: March, 2009 Recent topics Recent topics