Slashdot Mirror


Qt 4 Beta 1 Available for Download

scc writes "Get it here. Trolltech's press release gives the details, including the projected release date: late first quarter 2005. Qt is the cross-platform GUI framework at the heart of KDE. At the same time, Trolltech released under the GPL Qtopia 2.1, an implementation of their GUI framework for Linux-based PDAs."

34 of 196 comments (clear)

  1. No Free Windows Version by Anonymous Coward · · Score: 4, Interesting

    I think Qt is great, I use it for most of my projects, the only annoying thing is that the Windows version isn't free. There are free Linux and Mac versions released under the GPL, but no Windows version. \

    The whole point of Qt is to make it easier to have software run on multiple OS's, but I can't test any of my stuff on Windows. Oh well, still kick ass software.

    1. Re:No Free Windows Version by ByteSlicer · · Score: 2

      Since the Linux version is GPL'ed, what stops people from porting that to Windows and releasing it under the GPL? Sure, it would be a lot of work, but it could be done if enough people committed themselves to it. I wonder if Trolltech would try to stop it.

    2. Re:No Free Windows Version by rjstanford · · Score: 2, Insightful

      The whole point of Qt is to make it easier to have software run on multiple OS's, but I can't test any of my stuff on Windows. Oh well, still kick ass software.

      Actually, the whole point of Qt from the perspective of TrollTech is to make money to feed their families (and, I guess, to allow them to buy US$50,000 kittens if they so choose). Providing free Mac/Linux implementations was a strategic business decision towards that goal.

      Note: I'm a big Qt fan, and this should be taken as an endorsement rather than criticism. Better yet, it should probably just be ignored.

      --
      You're special forces then? That's great! I just love your olympics!
    3. Re:No Free Windows Version by twener · · Score: 3, Interesting

      Read the link. The native win32 port doesn't require Cygwin.

    4. Re:No Free Windows Version by twener · · Score: 2, Informative

      An update of the book for Qt 4 is in work according to the documentation pages, let's hope it again includes a non-commercial version.

    5. Re:No Free Windows Version by furry_wookie · · Score: 3, Informative

      Actually there is a version of the GPL QT ported to Win32. In fact its been out for quite a while.

      The Windows version of the ultra excellent lyx editor used it for their windows port in fact. See: http://www.home.zonnet.nl/rareitsma/lyx/

      Here is the home for the Win32 port of the GPL QT:
      http://kde-cygwin.sourceforge.net/qt3-win32/compil e-mingw.php

      Its part of the cygwin project, BUT they have instructions for doing a native compile with other native Windows compilers such as Borland, Microsoft C++ etc..

      --
      -- Given enough time and money, Microsoft will eventualy invent UNIX.
    6. Re:No Free Windows Version by computerme · · Score: 4, Interesting

      oh for petes sake!

      Can you at least to a simple google search to find out why this is not so??!

      Its not like its been brought up on slashdot EVERY SINGLE TIME QT IS MENTIONED....

      Short answer for the kids that ride the short yellow bus:

      They had a free version for windows.

      It was supposed to be used for only apps that were free and not for a commercial entity such as an in house enterprise app or commercial app.

      But guess what? Nearly no one on the windows side followed the rules and Trolltech lost $$$$$$$$.

      So blame your windows buddies.

      They are to blame. Not trolltech.

      If you make or save money on an app you build for a commercial entity, YOU should pay for it.

      Don't agree with me or Troltech?

      Don't USE IT!

      Simple.

    7. Re:No Free Windows Version by inmate · · Score: 2, Informative
      there is a "non-commercial" version available for the win32 platform.
      it has no (direct) cost and distributed apps are royalty free.
      i dont think that it is available for download, but it is included in with the book "c++ gui programming with qt3"

      http://www.amazon.com/exec/obidos/tg/detail/-/0131 240722/qid=1103913660/sr=8-1/ref=sr_8_xs_ap_i1_xgl 14/002-4430584-6064036?v=glance&s=books&n=507846 amazon

      --
      --- blackironprison, where ignorance is bliss....
  2. Nice to see things coming along... by exigentsky · · Score: 3, Interesting

    I'm especially happy about Arthur and the new Qt Designer, we will finally have an accelerated OpenGL? desxtop and all will be smooth due to double buffering.

    My only gripe is that the performance is still not great, but that should be expected with debugging code and all.

    Trolltech is doing great work.

    1. Re:Nice to see things coming along... by geeveees · · Score: 2, Informative

      OpenGL and double buffering are mutually exclusive.

      Uhm... Then how come I've been using these functions? They must be figments of my imagination! When I compile my source the code fairies must have magically removed them! It's the only viable explanation.

      SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,1);

      SDL_GL_SwapBuffers();

      --
      I am a viral sig. Please help me spread.
  3. more info here by carnivore302 · · Score: 5, Informative
    The press release is a bit light on details of what to expect from this release. here is a link that describes some of the features of the final qt4 version.

    Qt designer and assistent apparently can be embedded into kdeveloper, visual studio etc.

    Other improvements include

    a new paint engine

    a new text rendering engine

    new containers (which are lighter than the STL ones)

    better support for multithreading

    a new docking architecture

    and last but not least better performance and smaller memory footprint.

    --
    Please login to access my lawn
    1. Re:more info here by karstux · · Score: 2, Insightful

      I'd rather have broken backwards compatibility than eternal stagnation: in the computer world, that's usually the price of progress.

      Also, what's stopping you to distribute the Qt2 or Qt3 libraries with your program? Yes, it probably bloats the package, but the possibility is there.

      --
      Don't whistle while you're pissing.
    2. Re:more info here by twener · · Score: 3, Informative

      > Does the improvements to Qt include totally ignoring backwards compatability

      You can compile in compatibility mode, there is a porting tool in work, and there is also a Qt 3 compability lib for now obsolete classes.

      > I looking forward to KDE 4, when once again we all get to load yet another multi-megabyte Qt library

      Qt 4 is broken down into smaller libraries: libQtCore (1,1MB), libQtGUI (4,5MB), lib Qt Network (0.2 MB), lib QtOpenGL (0.15 MB), libQtSQL (0.2MB), libQtXML (0.3 MB) and optional libQt3Compat (3 MB)

    3. Re:more info here by Jeremi · · Score: 3, Interesting
      Also, what's stopping you to distribute the Qt2 or Qt3 libraries with your program? Yes, it probably bloats the package, but the possibility is there.


      For what it's worth, I just statically link the Qt library into my app, and it works well. True, it adds a few megabytes to the executable size, but anyone can just download the .zip file, unzip it, and run the app -- there are never any problems with missing or misplaced .dll or .so files, no DLL hell (i.e. library version mismatch problems), no installer scripts, no setting of load-paths necessary. I think the gain in simplicity and improved user-experience is worth the extra download size.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
  4. Re:Don't forget by Anonymous Coward · · Score: 5, Interesting

    So basically your saying that they shouldn't be allowed to make money off Qt, but you should be allowed to make money off your software that uses it? Nice.

  5. Qt saved C++ by Anonymous Coward · · Score: 5, Insightful

    Qt has done more for C++ than any other single project. Kudos to the Trolls.

    1. Re:Qt saved C++ by PhrostyMcByte · · Score: 3, Interesting

      Really? More than Boost? A few of their libraries will be in the next C++ standard.

    2. Re:Qt saved C++ by glennrrr · · Score: 3, Interesting

      I don't think that's very much of a good thing. C++ is a horrible kludge of a language, and Qt tries to salvage it with it's signals/slots preprocessing and other hacks. Everyplace I've ever worked in C++, people spent a huge amount of time implementing clever hacks to add features to C++ which other languages have for free. They had legacy code (MFC) or skills and were willing to spend upwards of a third of the development time grafting things into C++ rather than switch. We should be grateful that Trolltech has spent the time so we don't have to.

      However, if you want to see what a clean language can do for a framework, look at how sweet Objective-C and Cocoa go together. Message passing right in the language, a clean memory management model, proper abstract interfaces, dynamic runtime module loading... It's just so beautiful.

      I've been employed writing Qt apps for the last two years, and it's OK, but do my freeware projects in Cocoa and there is just no comparison in terms of rapidity of development and features you get for free.

      Of course Cocoa is a Mac thing, but presumably Objective-C is a gcc language and therefore available for anybody to write a framework around. (I haven't looked at cross-platform Cocoa clones.) If you were writing Qt today, Objective-C would have to get some consideration.

  6. Re:Don't forget by Corbin+Dallas · · Score: 4, Insightful

    It costs a lot of money to develop commercial software with Qt (and by extension KDE) because they use the full GPL license (as opposed to something more reasonable like the LGPL) for the Qt library to extort money from developers. Trolltech effectively control any possible commercial software market for KDE (or anything that uses Qt).

    So what if you have to buy a licence for commercial development? If you're out to make money on your software then you deserve to pay. Show me another cross-platform development suite as flexable and powerful as Qt that's free. Go on, I'll wait right here till you get back.

    But naturally, Trolltech are benign lovable types, aren't they? Sure they are... except they are part-owned by SCO and Canopy -- the Linux IP grab and sue specialists. Avoid Qt. It's poisonous to free software.

    If you're going to troll, at least take the time to write something with fewer holes in it. Trolltech is partially owned by Canopy but not SCO. Big deal. If you were to discover that the Unibomber owned 5% of Nabisco, would you really avoid eating thier crackers? Qt ( and Trolltech ) are great friends to FOSS.

    --
    Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
  7. Qt beats Java/Swing hands down by Anonymous Coward · · Score: 3, Insightful

    Having programmed in both Qt/C++ and Java/Swing for several years I can say that Qt kicks Swing's butt for ease of programming, speed and simply a better looking interface. The subset of C++ that Qt employs can be quickly mastered by any programmer - professional or novice. KDE is proof of that. When you are thinking about a cross-platform GUI think twice before going with Swing. It may be free - but you get exactly what you pay for.

    1. Re:Qt beats Java/Swing hands down by m50d · · Score: 3, Informative

      I have tried both of those, but for ease of development I've found something which beats both is Qt/Python. Give it a try if you haven't - it's actually easier than Qt/C++ because you don't have to worry about moc and declaring slots.

      --
      I am trolling
  8. still more info here by Mitchell+Mebane · · Score: 4, Informative
    --

    The roots of education are bitter, but the fruit is sweet.
    --Aristotle
  9. Re:Don't forget by vorpal22 · · Score: 2, Interesting

    Don't be ridiculous.

    The elegance of Qt far surpasses that of WxWindows, and Qt offers many more powerful classes than WxWindows does (containers, database connection, etc.).

    GTK+ may be a contender, but is there a native Mac OS X version? Additionally, last I checked, which was admittedly awhile back, the documentation was terrible and the support for the Windows port was sub-par. Additionally, since much of today's programming is OO, Qt is probably a more sensible choice for many programmers.

    C# may offer some powerful functionality, but from my understanding, there is no cross-platform GUI toolkit. Windows Forms for windows, GTK# for *nix, etc...

    Java, IMO, is the only one that matches (and surpasses) Qt, from that list. Personally, I like both Java and Qt, and pick whichever is more appropriate for the project I'm working on.

  10. Re:begin the "But its not free" by SirTalon42 · · Score: 2, Informative

    QT is released under the GPL on Linux and OS X. People claim it isn't free because use to it was ONLY under the QPL, but now you can use it under either license for non-commercial use. If you want to make money off of it do the honest thing and pay them for using their product, and you will be able to license it under any license you wish.

  11. Re:Don't forget by twener · · Score: 2, Insightful

    Don't forget that it costs a lot of money to develop Qt with this quality.

  12. Re:I don't intend to start a flame war! by Anonymous Coward · · Score: 5, Informative

    Pulled this from the newsgroups...and it covers most diffenences between GTk and QT:::

    - Qt is C++ based but it uses C++ in its own way because of its cross-platform
    nature (through a special preprocessor)
    - GTK is C based but it uses its own "object oriented" approach.
    - Qt can rely on QtDesigner and KDevelop that, together, make up a real IDE
    (similar to Visual Studio)
    - GTK must rely on Glade only, that is a GUI builder equivalent to QtDesigner.
    There is nothing like KDevelop for GTK (AFAIK).
    - Qt runs (with recompilation) on Linux/Unix, MacOS X and Windows (all
    versions)
    - GTK runs on Linux. There is a porting of the old GTK1.2 for Windows. A
    Porting for Mac OS X is under development (AFAIK)
    - Qt has internal support for scripting (QAS)
    - Should you need to add scripting capabilities to a GTK application, you have
    to embed your own engine (Python, LUA...)
    - Qt has integrated data-aware widget for data-centric applications.
    - GTK has a separate project (gnome-db) for data-aware widgtes
    - Qt-based applications and the KDE desktop "talks" each other via DCOP
    - GTK applications and Gnome "talks" each other via CORBA
    - Qt has exhaustive bindings for Python and a few other language (maybe Perl
    and Scheme)
    - GTK has exhaustive bindings for C++ (GTKmm), Python (PyGTK) and Ruby. There
    are less complete bindings for Perl, Scheme, Lua and so on. Have a look at
    www.gtk.org for a complete listing of the available bindings and their
    development status.
    - Qt has exhaustive documentation and a lot of examples form Trolltech and the
    KDE team
    - GTK has exhaustive documentation and a lot of examples from GTK team
    - Qt is freeware on Linux only
    - GTK is always freeware (but it is not completely available on Windows and
    MacOS X)

    Should you need to develop x-platform applications, have a look at wxWindows
    (and wxPython) as well. The Linux implementation of wxWindows relies on GTK+
    but wxWindows can run on Windows (all versions) as well, thanks to MFC, and
    on MacOS (all versions), thanks to a specific GUI engine.

  13. Re:I don't intend to start a flame war! by Stevyn · · Score: 2, Insightful

    I personally think it looks nicer. That's subjective, of course. And that's not to say it looks more like windows. There is a "Ximian version" of openoffice available which can incorporate Qt widgets. It makes the interface much nicer. Some credit goes to the KDE folks though.

  14. if only GUI libraries were really multithreaded by CoughDropAddict · · Score: 4, Insightful

    I hear QT is good stuff. This isn't a slam on QT in particular.

    However, I'm still waiting for the day when mainstream GUI libraries catch up to where BeOS was ten years ago, and put drawing in a separate thread from everything else.

    There is absolutely no reason why GUI applications need to become sluggish when they are doing something computationally intensive. There's no reason that an application should stop posting redraws every time it makes a blocking call (like, for example, doing file i/o).

    My eyes were opened to this shortcoming of "modern" GUI libraries by an entry in Bram's diary a while ago.

    1. Re:if only GUI libraries were really multithreaded by RdsArts · · Score: 2, Insightful

      Nothing against the opinion, I shared it for a time, but it's not really the problem that needs to be solved. Threading is not a magic bullet. In fact, most modern UI toolkits are rather well designed in this respect if the coder knows what they're doing.

      But, let's assume you put everything in 2 threads, drawing and logic for ease of discussion.

      The drawing thread, at best, will be the same as always because all you logic goes faster than it's refresh time. If not, it redraws when only half a layout is done, or when things aren't in their full initialized state. You can also kiss nice, clean, resizing widgets goodbye; you've just made it so each widget appears the minute you add it to a toplevel widget with the logic thread taking all the CPU time still.

      By now, I'm sure someone is saying, "well, let's just toss a lock in there so we can stop that!" Yep, we've just done all that threading work for nothing.

      Plus we still haven't made them any LESS sluggish. Threading it doesn't make the CPU usage go away, in fact it could worsen it because now we're seeing updates while the CPU is taxed (which you just know will look ever so crisp and quick). A sluggish UI is a symptom of a deeper problem than the UI's threading model, unfortunately.

      A bester fix would be to put the heavy logic into a seperate "logic" thread, add some timeouts in the logic thread so it's not so insistant on hitting the CPU hard, and put all the end results into a bit of shared memory that a idle handler can then pull in when the UI is... well, idle. ;)

  15. Re:Ignoring reality by m50d · · Score: 3, Insightful
    Qt is truly free. It's GPL, GPL, GPL. If you're not happy with them also providing a propriety/commercial version, then you can fork the GPL version and release it only under GPL. Go on. Find enough people who really think it isn't free enough as-is, and fork it. Trolltech wrote most of Qt and they're the ones who get paid when people buy it, exactly like MySQL etc.

    As for Qt being doomed, having programmed with Qt and the alternatives I could find, I don't think so. Qt is still much, much nicer to program with than GTK, especially since you now have to implement your own confirmation dialog box. Wx is getting there but still a nightmare to install (IME of course) and working through GTK rather than natively hurts it. As for SDL, it's great for 3d renderers etc, but would you seriously want to write a word processor (for example) with SDL widgets? I'm not sure where eclipse comes in, I thought that was a java IDE, in which case Qt is still the best toolkit to use with java on linux, IME, it's much faster than swing and fits in with the most popular desktop environment.

    --
    I am trolling
  16. Re:Qt Windows, Speed by computerme · · Score: 3, Informative

    its supposed to be 20% faster overall. Ignore the trolls.

  17. Re:I don't intend to start a flame war! by m50d · · Score: 2
    - GTK has GTKMM, C++ bindings that follow STL conventions so will be more familiar to C++ developers.

    - GTK while being C based has excellent C++ bindings.

    Anyone who has used them will tell you the Qt way, despite being nonstandard, is much easier to write an actual program in.

    - GTK can rely on glade/libglade / any editor of your choice, including KDevelop

    That's a sign of the quality of KDevelop rather than the toolkit.

    - Anjuta is an excellent IDE, many GTK developers also make use of Eclipse.

    True; however, KDevelop is an even better one.

    - GTK 2.x works fine on windows, not sure on the MacOS X status, but people seem to run Gimp just fine.

    IIRC it will only work under X on Macs, wheras Qt can be "properly native" on Macs.

    - GTK has no internal support for scripting because it is a GUI toolkit, no added bloat, you want scripting? embed perl / python / language of your choice, which provides a scripting language that people know and use that have significantly more power than QTs

    I think this is the core difference. GTK aims to be purely a GUI toolkit, wheras Qt tries to include anything that most people want. I've used Qt purely for its threading and networking libraries without needing it for GUI at all. This doesn't mean bloat, especially with this new version, as the libraries are split up and you don't have to link against them all.

    - gnome-db not being part of GTK is an advantage, if you don't need it, you don't have the bloat.

    The libraries are there if you need them, if you don't don't link against them.

    - GTK based applications can talk to each other via the freedesktop.org DBUS protocol, which KDE will be migrating to as well. DBUS bindings exist for glib, python, c# so you can talk to other non GTK applications as well, not just limited to QT apps like DCOP.DCOP is incredibly easy to embed, more mature although DBUS is now getting there, and included by default with your actions, so the IPC is there with zero effort from the programmer. Yes this means bloat, but it's worth it. CORBA is far bloatier to include, and limits you to applications which have explicitly included corba support, which is very few.

    - GTK is completly available on Windows, even following the WinXP theme.

    So is QT. You just have to pay for it.

    --
    I am trolling
  18. Re:I don't intend to start a flame war! by m50d · · Score: 2, Interesting

    Just try programming in it. Write an mp3 player or something (that's how I learnt). I found I enjoyed it a lot more than doing the same thing in GTK, and just found it simpler. But it's your choice.

    --
    I am trolling
  19. Re:Ignoring reality by WWE-TicK · · Score: 2, Insightful

    Well then his post makes even less sense, you stupid anonymous jackass.

    He says "working through GTK rather than natively hurts it". There is no "native" toolkit on X. Unless you're talking about raw Xlib or perhaps Athena since thats the widget set that actually comes with X. I can't imagine having wxWindows wrap Athena being any better than wrapping GTK, and if you want it to use Xlib directly theres the wxUniversal port.