Trolltech has released the second and final beta version of Qt 4. You can download it from ftp.trolltech.com or from one of its mirrors. The online Qt Reference Documentation has been updated. Qt 4 is currently scheduled for final release in late Q2, 2005, with an intermediate Release Candidate planned for May.
About The Author
Eugenia Loli
Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.
Follow me on Twitter @EugeniaLoli
82 Comments
> Garbage collector and better price baby.
Better price than free? And how about the other free?
FLTK ( http://fltk.org ) is not as feature rich as Qt or GTK+ but it’s
-much easier to learn
-produces small, FAST, statically linked binaries
-cross platform win32, *nix, OSX
-comes with free graphical gui builder FLUID
I was reading the tutorial:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello(“Hello world!”);
hello.resize(100, 30);
hello.show();
return app.exec();
}
But it doesn’t say that the QpushButton hello belongs the the application, it is just declared, that is so dumb.
Never mind I just read this:
The button is set up to display the text “Hello world!”. Because we don’t specify a parent window (as second argument to the QPushButton constructor), the button will be a window of its own, with its own window frame and title bar.
Hi Anonymous,
From your previous posts, it is clear that you are a GNOME fan. But it is nice that you are taking to time to really check Qt before (or after) bashing it.
I am really tired of discussing licencing and price for Qt on every Qt news here. I don’t care for the price, all I care is for the GPL (free) version.
Since you can only have one top-level event loop in a GUI app, Qt only allows you to instantiate one QApplication object. This object is referred to be the qApp pointer. Since there is only one QApplication, it’s redundent to specify which QApplication the QButton belongs to.
Repeat after me: “the price of qt licence is nothing compared to the cost of the developer who will be using it”. Now keep repeating it until you understand it.
If the developer has to struggle i.e. waste time with some unsupported and possibly crappy toolkit it will be very expensive even if the toolkit is free when compared to a non-free toolkit that will allow the developer to get her/his work done fast(er).
Since you can only have one top-level event loop in a GUI app, Qt only allows you to instantiate one QApplication object. This object is referred to be the qApp pointer. Since there is only one QApplication, it’s redundent to specify which QApplication the QButton belongs to.
reminds me of MFC and the theApp object…
and (in contrast) of something i read on the page of a toolkit library ( http://www.nedprod.com/TnFOX/ ) whose author mentions support for “Per-thread event loops”…
“Does Qt has a official GUI designer?
Or just come with the framework?”
It has a GUI Designer, a help navigator and a translation tool (not to mention the command-line tools it uses too).
From your previous posts, it is clear that you are a GNOME fan. But it is nice that you are taking to time to really check Qt before (or after) bashing it.
I am really tired of discussing licencing and price for Qt on every Qt news here. I don’t care for the price, all I care is for the GPL (free) version.
Good for you, but:
1.- I didn’t mention GNOME here.
2- Qt is a framework not a DE, while im talking about Java you talk about GNOME, what is the relation?
Stop the paranoia, Im talking about frameworks not about DEs.
Does Qt has a official GUI designer?
Yep, Qt Designer, which you can run stand-alone or integrate it into KDevelop or Visual Studio.
But if you do want a supported, stable, multiplatform toolkit, then Qt is worth the investment.
Better use Java, has the same, better reputation and is cheaper.
Java doesn’t work well on Linux, at least not if you use swing as many characters are untypable on non US keyboards. What characters that can’t be typed varies from locale to locale.
This bug have been around in swing from start (should be about 5 years by now). Prior to that there was similar bugs in awt on Solaris back in java 1.1 days. Sun doesn’t seem to be very interesting in internationalization or desktop issues. For more info on the keyboard bug see:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4799499
The bug is number 15 on the top 25 bug list, and was quite high last time the bug was closed unfixed. Wording like “…if this bug so urgently need to get fixed…” in the bug evaluation, and that there is one more outstanding internationalization bug on the the top 25 list further enhaces the impression that Sun doesn’t care about the desktop or internationalization. This goes far back to the Open Look days, where the Trash in the Swedish version was named “Pappersko” that translated would mean “Paper Cow”.
In fact I thaught it was rather cute and quite harmless at the time, but it’s not exactly a sign of quality.
Neither is, that in my 10 years as a java developer on Solaris and Linux only have been able to fully use my keyboard in java programs for 3 years.
In short, Java is cross platform only as long as you run it windows, QT works well in most places. Of course you could use swt on Linux, but then you’r in trouble if you want to print.
lovely, now get cracking and release KDE4 shortly after, i want my SUSE running KDE4, not to mention Samba4, compiled with GCC4, and running on Reiser4. speed demon ahoy.
tried Arthur now. P4 with 2.4Ghz Nvidia 6600GT, Doom3 runs really nice.
But the Arthur Demos are really slow if I look at my PC. If I click my mouse to move the objects, everything gets very sloppy. Static demos are nice, but with user communications, everything is slow slow slow… :-(((
Hopefully, this is related to the debugging code in this Beta release. To a very lot of debugging code!
(I want a *blistering* fast KDE4!!!!)
For small development shop, I won’t choose qt.
Then you’ve never worked in a small development shop. You want to see how much they do spend on software, MSDN subscriptions and Java IDEs!
Anyone else find it ironic that gtkmm is a better C++ binding to gtk+ than what exists nativly with QT? QT was unfortunatly started before the 1998 C++ standard and really doesn’t feel like C++ because they do things their own way.
They do things their own way because the C++ standard is utter crap in terms of getting things done. Qt is for people who want to get work done and write cleaner, and less, code. Considering that Qt also contributes in development to free applications and desktop environments that you can use, it is more than worth the price.
Garbage collector and better price baby.
Garbage collector or no garbage collector, Java applications consume a huge amount of memory, are far too slow and ironically have a large amount of platform-specific issues on anything that isn’t Windows. Being a cross-platform technology that is .
Most people who do any development for a living also need proper development tools for Java, many of which aren’t cheap. Here’s a hint – normal people don’t develop in vi or emacs.
Most people who do any development for a living also need proper development tools for Java, many of which aren’t cheap. Here’s a hint – normal people don’t develop in vi or emacs.
What world do you live in?
Do you know something called Eclipse?
get more information before replying.
Qt4 supports per-thread event loops. In Qt4, the “main” event loop is attached to the QCoreApplication, and each QThread can have it’s own event loops. QObject’s created in each thread belong to that thread.
http://doc.trolltech.com/4.0/threads.html#per-thread-event-loop
>>From your previous posts, it is clear that you are a GNOME >>fan. But it is nice that you are taking to time to really >>check Qt before (or after) bashing it.
>Good for you, but:
>1.- I didn’t mention GNOME here.
Yes, I know.
>2- Qt is a framework not a DE, while im talking about Java >you talk about GNOME, what is the relation?
Well some people can’t take a compliment…
The relation is: most GNOME fans bash Qt/KDE without even checking it, but you are checking it out. That’s nice.
>Stop the paranoia, Im talking about frameworks not about >DEs.
What paranoia? Aren’t you a GNOME fan? It’s a compliment, I am not bashing you.
What paranoia? Aren’t you a GNOME fan? It’s a compliment, I am not bashing you.
Then I guess Im the paranoic.
QT is a nice toolkit, but unfortunately it doesn’t have a developer friendly license. That’s the reason that Novell, RedHat, and Sun are all going with Gnome/Gtk+
It’s true that the cost of a QT licence is negligible compared to the other costs is software development. The important thing about QT is that it runs out of the box, has excellent manuals and tutorials, these alone save a developer many many hours (hence dollars) of time.
As nice as QT is, the one thing that is poor is the GUI designer. I am used to VSNET and Delphi type designers, they’re very simple to use, one can rapidly put together a basic GUI is no time, event handling is particularly easy. I notice that the QT4 designer is a quite different design from QT3, and from my perspective, it’s backward step. The new design has floating windows compared to the earlier one which had one window with everything neatly contained. The new version has a odd way to deal with events, one now has to draw the event link using the mouse, before one would just click on a component, eg a button and write the code, I stil havn’t figure out yet where I write the code. The new version has two editing modes, design and event handling, one has to consiously switch from one to the other. With other GUI design tools, there is no separation.
In summary I think the new designer is more complex and certainly no where near as productive as some of the existing competition.
QT is a nice toolkit, but unfortunately it doesn’t have a developer friendly license. That’s the reason that Novell, RedHat, and Sun are all going with Gnome/Gtk+
This have been answered over and over. But I guess you just want to irritate us, don’t you? Or it is a marketing campaign?
This have been answered over and over. But I guess you just want to irritate us, don’t you? Or it is a marketing campaign?
I didn’t have a question, so why are you saying “this has been answered over and over”?
It’s too bad that KDE had to choose QT as its toolkit. Remember, what is good for Trolltech isn’t necessarily good for KDE.
Here is a sample for you:
Garbage collector or no garbage collector, Java applications consume a huge amount of memory, are far too slow and ironically have a large amount of platform-specific issues on anything that isn’t Windows. Being a cross-platform technology that is .
Garbage collector or no garbage collector, Java applications consume a huge amount of memory, are far too slow and ironically have a large amount of platform-specific issues on anything that isn’t Windows. Being a cross-platform technology that is .
Most people who do any development for a living also need proper development tools for Java, many of which aren’t cheap. Here’s a hint – normal people don’t develop in vi or emacs.
David (IP: —.freedom2surf.net)
And more:
In short, Java is cross platform only as long as you run it windows, QT works well in most places. Of course you could use swt on Linux, but then you’r in trouble if you want to print.
Uno Engborg (IP: —.sp.m.bonet.se)
And more:
>Better use Java, has the same, better reputation and is cheaper.
If you accept the overhead, then yes. If you are coding a memory efficient, lean and mean app, then Qt is the way to go.
By Amadeo
That’s the reason that Novell, RedHat, and Sun are all going with Gnome/Gtk+
How is this related to the Qt4 beta subject? Where are the news? Why are you trolling here?
Are you aware that all GPL Qt apps will run in windows, increasing greatly their user/development base?
Qt is a great toolkit for GPL apps. Deal with it.
Great, now that’s something constuctive
“I’ve been using GCJ for almost a year on Linux/BSD and Windows(MinGW) and performance is fantastic!”
Good for you. This is not as stable, supported and efficient as Qt, but it is indeed a great option, one that is maturing quickly.
“Wow, how about ECLIPSE, you know the IDE used by more than 60% of Java developers. Moron.”
How polite. This has been said as well (if you bothered to read the comments) above. And I agree. Eclipse is great.
Java is a very nice option, indeed. But Qt has its advantages as well.
“Are you aware that all GPL Qt apps will run in windows,”
“Scribus setup.exe link please. Oh yeah, there isnt one.”
WILL, future tense, the GPL Windows version isn’t out yet.
You are not constructive anymore
“Scribus setup.exe link please. Oh yeah, there isnt one.”
Qt3 is not GPL for windows. Qt4 will be. That is why I said that GPL Qt apps will (note the tense) run on windows.
“QT is shit for everything else. Deal with it.”
What are you doing in this tread then? Get lost.
“Good for you. This is not as stable, supported and efficient as Qt”
Have you even used GCJ before?
“How polite. This has been said as well (if you bothered to read the comments) above. And I agree.”
Um you never even made that comment so why are you getting defensive? My “moron” comment is for David, because he is ofcourse, a moron.
“Java is a very nice option, indeed. But Qt has its advantages as well.”
Such as? What does QT offer that you can’t live without?
“WILL, future tense, the GPL Windows version isn’t out yet.”
QT3 apps will still not work with QT4. Duh
“Qt3 is not GPL for windows. Qt4 will be. That is why I said that GPL Qt apps will (note the tense) run on windows.”
I knew it, you arent even a developer, or you would know that QT3 apps such as Scribus will not run on QT4.
Go away poser.
“What does QT offer that you can’t live without?”
Speed, economy of resources, great api (I can’t stress this enough), support, documentation, stability. It is truly multi platform, it has almost all the useful java classes without alot of the clutter, and more.
Have you ever tried Qt?
“QT3 apps will still not work with QT4. Duh”
Don’t you think most actively developed Qt3 apps will be ported to Qt4?
How many Qt2 apps are still floating around out there? Qt1?
Amadeo:
“Are you aware that all GPL Qt apps will run in windows”
Maybe you should read next time. Scribus will have to be ported to QT4.
“I knew it, you arent even a developer, or you would know that QT3 apps such as Scribus will not run on QT4.”
I bet Scribus will be ported to Qt4, to take advantage of Arthur features. I bet Scribus will run on windows.
I bet the KDE apps will use Qt 4 (easy one). I bet KDE apps will run natively on windows (without a X server, that is. They already run using cygwin).
http://kde-cygwin.sourceforge.net/
Kexi already run natively on windows, and most of kdelibs have been ported to windows. Wanna bet?
Maybe you should read next time. Scribus will have to be ported to QT4.
Just like Gtk2 apps will have to be ported to Gtk3. So?
“Maybe you should read next time. Scribus will have to be ported to QT4.”
Duh. Like I didn’t know that.
“Maybe you should read next time. Scribus will have to be ported to QT4.”
Just like Gtk2 apps will have to be ported to Gtk3. So?
So it will have the option to run natively on windows. GTK for windows is not the main platform. It is buggy and lgs behind. Qt for windows is the main platform for Qt. Qt for windows is the main source of Trolltech’s income. It is a professional grade tool.
But then again, I don’t use windows, and I only care for that as long as it brings new users/developers for the foss world.
>QT3 apps such as Scribus will not run on QT4.
>or you would know that QT3 apps such as Scribus will not run on QT4.
>Go away poser.
In contrast to you I’d guess perhaps he has even read the anoncement, and he even mange to read other posts. If you had read the article meant to be discussed in this thread, you would perhaps have learned of few things. Like the qt3support http://doc.trolltech.com/4.0/qt3support.html library in Qt4 or the Qt 3 to 4 porting tool http://doc.trolltech.com/4.0/qt3to4.html . With those tools and the skill demonstrated so far by the Scribus hackers I’d reccon they do a quick Qt4 port in an afternoon. Since you don’t understand that, perhaps it is you who are not a developer. Or you are so blinded by using inferior tools you can’t grasp the concept of efficient ways to work.
Then you’ve never worked in a small development shop. You want to see how much they do spend on software, MSDN subscriptions and Java IDEs!
I have a small development shop. And all developer tools of my company (Delphi7 and Kylix professional, Visual Basic, JBuilder) are clean. Kylix and Delphi with clx was a relative good development environment for me, but Kylix/CLX line on Borland seems discontinued. It is very sad for me. I want to choose a new development environment. Because I develop business applications, the following things are very important for me:
– Stable company and product line behind the platform (I don’t want another Kylix like fisaco).
– The multiplatform is very nice thing, I really like linux, but the most of users are use windows.
– Good multi-tier support, I want to create both web and traditional GUI based applications.
– Good IDE or RAD tool. It is a one-man show, I need a very effective environment. Before Kylix I used wxWindows (now wxWidgets), but when my program growed up to 50 forms, many reports and > 20 000 lines of code, the maintain and modification of the code begin to very hard.
– Good database support.
– Report generators. I wrote my own RG in Kylix, but I don’t want to write new one.
– Real programming language (I hate the “dynamic typing” and the script languages.
I see some environment, and IMHO at this moment the best solution the M$ Visual Studio, because:
– It is relative cheap (the prof cheaper then Qt)
– Relative good RAD tool with good CASE tool support.
– The M$ seems stable enought.
– ADO.NET is not a bad thing.
– C# is very sympathic for me.
– Relative good report tools.
– With mono it is multiplatform.
The second is the Java platform:
– The Java developer tools also relative goods, and some free solutions are relative good (Eclipse, NetBeans). But IMHO the VS better if I compared the price and quality.
– I don’t know how stable the SUN, and if it out of business what will happen with java ?
– JDBC is very good low level database interface, and every RDBMS support it, but I don’t find any higher level interface (like DataBindings in .NET or datab bound controls in Delphi VCL).
– Java is also relative good C-like language, but IMHO C# is better.
– Relative good report tools.
– It seems the best multiplatform solution.
I also tested some other environments:
– C++/wxWidgets. It is relative good multiplatform solution, with Dev-C++ wxWidgets plugin it is very similar to RAD environment. The database suppport is very poor (odbc with not too good wrapper), the print support useable but with very low level API.
– C++/Qt. With KDevelop it seems also useable, but very expensive if I compare it to M$VS, and the price/qualty is very bad if you don’t want to create open source application. The database support exists, but only for few RDBMS. The printing api also not too high level, and I don’t know any QT based reporting tool for windows.
– Lazarus/Free Pascal. It is a relative good if you want to create single-tier application. But a little bit buggy, and I don’t like Pascal, my next environment will use C-like languge. The database support is not too good, but better then wx, the printer support seems same as the Delphi TPrinter.
I’am sorry if my english is not too good, and if this post is a little bit offtopic, but I want to see my (and IMHO the most of little-or bigger software company) aspects.
“Such as? What does QT offer that you can’t live without?”
What does high-level languages offer that you can’t live without? You could do everything in assembler (or in straight binary machine code), but it wouldn’t be much fun, and it certainly wouldn’t be productive. Qt is a tool, a great tool, but it is not critical, in that it allows me to do things that I previously could not. Every tool is like that.
What world do you live in?
Do you know something called Eclipse?
Eclipse gives you nothing by itself. You have to download or buy extensions to get it to do the things you want it to do.
Actually do some work before making extremely stupid comments. That’s par for the course round here though, isn’t it?
QT is a nice toolkit, but unfortunately it doesn’t have a developer friendly license. That’s the reason that Novell, RedHat, and Sun are all going with Gnome/Gtk+
Then you’ll have to tell Microsoft about that one.
Novell is going with GTK are they? You haven’t seen OES or YaST then, have you? And Sun don’t recommend using GTK – they recommend using Swing.
It’s amazing what people talking bollocks can do for the minds of some very impressionable people.
Why do people even mention it? Wow it costs you the equivalent of a couple of weeks wages for a crappy programmer. Have you people ever had a job ? Lol
QT is a very clean toolkit with a terrific documentation. I prefer to use QT, but for smaller projects you might indeed watn to use other toolkits such as wxwidgets.
“Of course you could use swt on Linux, but then you’r in trouble if you want to print.”
What? Im using the 3.1 Milestones and have no problems over here.
What Linux distro do you use? Any special Xprint settings?
Are you using the Gtk or the Motif version of Eclipse?
>Why do people even mention it? Wow it costs you the >equivalent of a couple of weeks wages for a crappy >programmer. Have you people ever had a job ? Lol
You’re joking right? Wages here are betwen 60 and 80 dollars an hour, it will take 4 days roughly to recover the costs of a QT licence, the fact that it just works out of the box means that you get that money back many times over from productivity alone. I presume you must work in India, or China?
You’re joking right? Wages here are betwen 60 and 80 dollars an hour, it will take 4 days roughly to recover the costs of a QT licence, the fact that it just works out of the box means that you get that money back many times over from productivity alone. I presume you must work in India, or China?
No, those are actually ordinary wages and salaries (mainly in full-time employment) on a par in the real world, even in many western countries. People in India and China get payed far, far, far, far less than even that. Of course many areas in any one country are going to be richer or poorer, and then there are the short-term contractor rates.
God, if you’re expecting between 60 and 80 dollars an hour simply as a matter of course though then no wonder stuff is being outsourced abroad.
The web address is a dead giveaway though .
Quote:
“Wages here are betwen 60 and 80 dollars an hour”
Those are absolutely no normal wages for a normal job.
That’s what an average to good freelance worker earns over here (it has to cover everything: Taxes, social security, med care, times of unemployment, …).
The *real* cost of a person that is employed full-time is not too different, and I think that’s about true for Belgium, too. This is not only about wages! Of course those are much lower.
Replying to self:
Oops, I mixed up dollars and euros. But that means the numbers given by snowflake are even less unrealistic.
And another clarification: I’m talking about a software developer, with some experience in the field…
I love working in Qt and can’t wait for 4.0, especially now, because they will be releasing a GPL’ed version for Windows as well!
“especially now, because they will be releasing a GPL’ed version for Windows as well”
That is going to add a crapload of Qt developers to the development pool, even if it won’t work with Visual Studio off the bat.
True, and it will finally give me a very good cross-platform QUI toolkit to use with the applications I’ve been wanting to write. I could have used wxWidgets, but I really don’t like the syntax. For my use, Qt just has the best syntax and object model.
For those folks that don’t like Qt, that’s fine, you are entitled to use what ever you like, but for me, Qt is the BEST cross-platform C++ GUI toolkit out there, bar none (note, the last was a personal opinion, based on what I’ve seen with other cross-platform C++ GUI toolkits, please don’t attack me over it).
Qt is the BEST cross-platform C++ GUI toolkit out there, bar none
Agreed, and Qt4 has certainly moved the library into the realm of pervasive multithreading, not to mention the Picasso rendering engine will allow portable Avalon/CoreGraphics-like effects. Qt is certainly looking to the future, while other toolkits which will remain nameless try to fix their hopelessly broken rendering models.
Anyone else find it ironic that gtkmm is a better C++ binding to gtk+ than what exists nativly with QT? QT was unfortunatly started before the 1998 C++ standard and really doesn’t feel like C++ because they do things their own way.
> Anyone else find it ironic that gtkmm is a better C++ binding to gtk+ than what exists nativly with QT?
No, gtkmm is not better, but is certainly more pure C++ like. Qt extends C++ (example: signal/slots), and precisely because of that it is much better.
gtkmm is good, lacking profesional tools, and free. qt is very good, has profesional tools, and damn…… it’s hell expensive. For small development shop, I won’t choose qt.
I’ve tried writing a small gtkmm program, but it takes painfully long to compile even the smallest app. That’s probably because gtkmm uses templates everywhere.
For GTK+ development in C++, I can recommend the Gtk+ Foundation Classes. It uses C++ in a way it was meant. It uses templates when it makes sense, and is fairly fast to compile (for as far as “fast” is even possible with G++).
Maybe if gcc becomes a magnitude of 10 times faster, that I will reconsider gtkmm.
>For small development shop, I won’t choose qt.
So forget about reaching Windows users… GTK sucks on Windows. Visual C++ seems much better than gtkmm for a small shop. If you want a really professional multiplatform toll, you can’t beat Qt.
I’ve tried them both and found as someone said that gtkmm does things in a more C++-way and QT doesn’t (like their moc-compiler), but I’ve found that QT is ways eaiser to debug and code with.
Hey, I am here to know about Qt 4, not gtkmm…
Hi.
Do you know if Trolltech has released a beta for Windows yet?
>…Picasso rendering engine…
You mean Arthur, the Qt 4 painting framework? 😉
I wouldn’t think so:
http://www.trolltech.com/developer/faqs/duallicense.html#q111
I could only wish there was a desktop env with the same focus as XFCE but running over QT. I’d very much like to see a lightweight, good looking, fast DE without clutter built on QT.
>GTK sucks on Windows.
It did. Time is passing by. GTK+ has improved a lot in Windows.
For small development shop, I choose Java ( with Swing or SWT ) anyway…..
But c’mon, the price is so expensive. $1728 for single professional license???? It is more expensive than Borland Delphi or VS .NET anyway….
> Do you know if Trolltech has released a beta for Windows yet?
Sure they have, for their customers. The Windows Open Source Edition will start to exist with Qt 4.0 release.
For the home user, it is indeed expensive.
But for a company?
If you make money with it, it’s not expensive at all, it’s even free as you get the cost back. It’s called Return Of Investment.
Qt is either good if you do GPL or fully commercial software and can afford the license in the latter case. For small utility programs wxWindows is enough. AOL and AMD cannot be THAT wrong.
>For small development shop, I choose Java ( with Swing or SWT ) anyway…..
I can agree on that
>But c’mon, the price is so expensive. $1728 for single professional license???? It is more expensive than Borland Delphi or VS .NET anyway….
If you don’t need the support, stability, and multiplatform characteristics of Qt, then by all means don’t use it. VS .NET is indeed cheaper.
But if you do want a supported, stable, multiplatform toolkit, then Qt is worth the investment.
But if you do want a supported, stable, multiplatform toolkit, then Qt is worth the investment.
Better use Java, has the same, better reputation and is cheaper.
>Better use Java, has the same, better reputation and is cheaper.
If you accept the overhead, then yes. If you are coding a memory efficient, lean and mean app, then Qt is the way to go.
If you accept the overhead, then yes. If you are coding a memory efficient, lean and mean app, then Qt is the way to go.
Garbage collector and better price baby.
Qt, fantastic tool to make free programs at no cost. I’m waiting for trying it in Windows.
By the way, a nice tutorial there (very easy library!)