Slashdot Mirror


Trolltech Releases First Qt 4 Technology Preview

An anonymous reader writes "Trolltech has announced the availability of the first Qt 4 Technical Preview. Qt 4, the next major release of the popular cross-platform C++ application framework which KDE is based on, is scheduled for final release in late Q1, 2005. Download mirrors here, here and here."

33 of 95 comments (clear)

  1. I love Qt! by Per+Wigren · · Score: 4, Insightful

    I just wish I could use it when developing cross-platform GPL-programs. :(

    --
    My other account has a 3-digit UID.
    1. Re:I love Qt! by EnglishTim · · Score: 4, Informative

      Your wish is trolltechs command.

      Well, no it's not. There is no free edition of Qt for Windows. If you want to develop a program that will run on Windows, you'll need to buy it.

      If you can't do Windows, it kind of throws out the whole crossplatform thing.

    2. Re:I love Qt! by EnglishTim · · Score: 5, Informative

      IT'S FREE!

      It's only not free if you intend to create non-free programs with it.


      It's not free for the Windows version, even if you want to create a free program that will run on Windows, which is why the original poster said crossplatform.

    3. Re:I love Qt! by squiggleslash · · Score: 2, Informative
      The X11 version is released under the GPL, the source to the Windows version - unless something has changed recently - remains firmly under wraps.

      I guess you could compile the X11 version to run under Cygwin/X11. But I'm not sure that counts as "cross platform"...

      --
      You are not alone. This is not normal. None of this is normal.
    4. Re:I love Qt! by Per+Wigren · · Score: 4, Informative

      You really can't compare Qt with GTK because Qt is more like a development platform/framework than a just a GUI-library. WxWidgets is much closer to Qt than GTK will ever be (and it uses GTK for GUI-drawing on X11), but Wx is nowhere as mature as Qt at this point.

      I started to use Wx for an application I'm working on, but it was impossible to even get a decent looking TreeView/CList with checkboxes which resizes in a sane way. After much frustration with Wx I switched to plain GTK in which I could great a GUI the way I wanted to, but now instead I have to look for external libraries for everything like sound playback, database connectivity, networking support, regexps, and much much more. It's like hell to support on several platforms. :P

      If Qt-Free was avaiable on Windows I could stick to Qt-conventions and support the application on all platforms with just a simple recompile.

      --
      My other account has a 3-digit UID.
    5. Re:I love Qt! by arkanes · · Score: 4, Insightful


      Check out wxWidgets (formerly known as wxWindows) for an alternative. No, the support isn't as good as Qt, even if you pay. On the other hand, unlike GTK, your app won't look and run like ass on windows. And the community support via IRC and mailing list is excellent. wxWidgets is, in fact, the only toolkit I know of that is mature, cross-platform, and free. (I don't consider GTK to be mature in the cross-platform category)
      </plug>

    6. Re:I love Qt! by burnetd · · Score: 2, Informative

      This does not seem to have been posted yet...

      I've you really want to have GLP'd QT on Win32 help out here...

      Otherwise stop moaning about it.

    7. Re:I love Qt! by Narchie+Troll · · Score: 2, Informative

      GTK+/Win looks fine nowadays, especially with the native skin. I know lots of people that happily use Gaim without knowing it's in a different toolkit.

    8. Re:I love Qt! by Brandybuck · · Score: 2, Interesting

      There's no free edition for QNX/Photon either. Heck, there's a lot of platforms that don't have native free Qt editions. What's up with that?

      On to a serious note. GTK+ for Windows did not magically pop out of someone's ass. It had to be ported from X11 to Win32 by hand. There is absolutely nothing stopping anyone from doing to same with free edition Qt.

      --
      Don't blame me, I didn't vote for either of them!
    9. Re:I love Qt! by Qwavel · · Score: 2, Interesting


      On the one hand I agree that wxWidgets is very good.

      On the other hand I think that GTK on Windows looks good and works well.

      wxWidgets is particularly good if you are writing in C++ or Python. GTK is particularly good for C.

      Both are good options.

  2. New and Improved by UPi · · Score: 3, Insightful

    Qt has always been techically superior and rather geek-friendly. Looks like in the new release they have found PHB-friendly names for their existing components. For example, they call the QTL (Qt Template Library - their replacement for STL) "Tulip".

    Seems like they have changed more classes than they usually do, and have moved a whole set of "obsolete" classes into a separate compatibility library to help the transition from Qt3 to Qt4. This probably means that developers have a few years to remove these classes from their codebase before they go from "deprecated" to "completely removed".

    The press release seems to be quiet about their previous challenge to Java (they have claimed a few months ago to produce a Qt4 that will be in "direct competition" to Sun's offerings). I'm kind of happy about this.

  3. How soon in KDE? by agent+dero · · Score: 2, Interesting

    According to the article, they implementing some nice big changes, like a new paint framework, and unicode renderer, etc.

    But by Q1 of 2005?

    How long after that will we need to wait until KDE switches over? (assuming that QT4 will be a step up from QT3)

    KDE team?

    --
    Error 407 - No creative sig found
    1. Re:How soon in KDE? by alex_tibbles · · Score: 2, Informative

      I seem to remember seeing notes from a KDE conference where there was a presentation about Qt4, and KDE plan was to make the next major release use it. I think I misunderstood or KDE plans have changed, since they released 3.3 beta1 with a very ambitious release schedule. Perhaps the plan is to get 3.3 out with some good features and fixes, before the massive turmoil of moving Qt3->Qt4 begins for KDE 4... But AINA KDE Developer

  4. C++ by RAMMS+EIN · · Score: 4, Interesting

    Does Qt still use that layer of C++ compiler workaround cruft?

    I never understood why they went and wrote their framework in a language that had such sucky implementations. I think GTK had it right - develop it in a language that works, then provide (de-uglified) bindings for other languages. gtkmm is a very clean API, IMO.

    --
    Please correct me if I got my facts wrong.
    1. Re:C++ by alex_tibbles · · Score: 3, Insightful

      Depends how long term you plan. There are benefits as well as problem associated with using C++, you know(!). My concern would be that now that there are decent C++ implementations (G++ 3.3 is pretty adequate, 3.4 will be good when fully stable, GNU libstdc++ is fine too, then there is stlport....) that they junk the non-standard re-implementations (slowly) and migrate to using standard code (reducing bloat).

    2. Re:C++ by OmniVector · · Score: 2, Insightful

      it's not so much performance/bloat that many of us are concerned with, but the language used. Not only does Qt require a hack language on top of C, but it requires moc, a hack on top of a hack language.

      by hack i more or less mean a poorly designed language. of course gcc's implementation is good, but that has little to do with the design of c++. C has many advantages over c++ including but not limited to the fact that: you can write c++ in c (or at least do OOP in C to the similar functionaly of c++) and you can bind with just about every other language with minimal effort.

      --
      - tristan
  5. SVG render ? by johnjones · · Score: 2, Insightful

    so...

    this would be a great thing to have and cross platform would be a killer feature
    IMHO

    regards

    John Jones

  6. Just to sort things out... by dbglt · · Score: 4, Informative
    For those who are uniformed or unaware, QT is dual licensed:

    Firstly, under a commercial license (which is ~$1000)

    Secondly, under the GPL for non-commercial usage only

    However, QT for Windows is not released under the second license, meaning that if you want to develop with QT and the Windows platform - even if you are a non-commercial entity - you must purchase a commercial license (or manage to persuade the nice folk at TT to grant you a license, as a few open source projects have managed to do).

    I feel this limits the target market... as one of the reasons to even begin coding in QT (other than the WONDERFUL documentation :p), is the promise of cross platform availibility. I have heard it is possible to compile under win32 platform with cygwin and mingw - but I cannot confirm this

    Anyway, as I develop primarily for *nix platforms, this is not a big issue for me, but I would like to see QT opened up for the windows platform. That way I'm not limited in the future if I decide to work with another platform.

    1. Re:Just to sort things out... by Senjutsu · · Score: 2, Informative

      Yup, even if developing. I was evaluating some toolkits to use for some strictly-for-my-own-use apps which had to be crossplatform (between Windows XP and Linux, at least) and that took QT out of the running instantly.

  7. wxWidgets by redragon · · Score: 4, Informative

    I've been using wxWidgets for quite a while. I must admit that it took a little getting used to, but I don't think the parent post does wx justice. Sure wx isn't as mature as Qt, but it is Open Source (which /. ers should like), it can be used in commercial apps (which people that like selling software should like), and the guys working on it put in a ton of time making a great library. The differences between wx 2.4.2 and 2.5.2 are quite impressive, and their current MacOS guy seems to be making an effort to bring wxMac along by leaps and bounds.

    Resizing isn't as tough as you think, look into wxSizer objects. If you want a more robust basic tree control, take a look at wxTreeMultiCtrl, or sub-class wxTreeCtrl and make your own. It's the beauty of the system. I've used tree controls in several applications without such pains.

    It's always a bit of a trip learning a new GUI toolkit, but the sheer volume of great tools included in wxWidgets overshadows any pitfalls found right now.

    Just MHO.

    --
    - Sighuh?
  8. major clarification by Ender+Ryan · · Score: 3, Insightful
    # Secondly, under the GPL for non-commercial usage only

    I'm not a QT "fanboy," but I have to point out that GPL != non-commercial.

    With the GPLed version, you can do whatever you want, but if you distribute your program, it must also be licensed under the GPL.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  9. Re:C++, bad news by Qwavel · · Score: 2, Interesting


    I hate to tell you this, but they are doing the opposite of what you (and many other C++ developers) are hoping for.

    Instead of slowly migrating towards standard C++, the way that other frameworks have, they are taking deliberate steps towards a more proprietary language.

    For example, in QT4, they are moving to new template containers, but instead of using the STL (which even MFC developers tend to use) they having decided to develop their own container classes.

  10. The nail in the coffin release by Qwavel · · Score: 3, Interesting


    I am a C++ developer, and I recognize that KDE/Qt are better in most ways than Gnome/GTK+, but this release is not acceptable to me.

    Unfortunately, when TrollTech tries to find the right balance between it's own interests and those of its community, I think it tries to error on its side, but ends up hurting both itself and the community.

    Other frameworks are migrating towards the C++ standard, but Qt seems to be migrating away from it, ensuring a lack of interopability of code and skills.

    Other technologies are trying to open up to more languages, but TrollTech has decided that C++ (their own version of C++) is all that anyone needs. Even as a C++ developer, I recognize that this is a bad strategy.

    Other open-source projects are moving towards cross-platform (eg. AbiWord and Gnumeric will both be available for Windows soon), but TrollTech continues to keep 90+% of the market (ie. Windows) away from open-source Qt developers and their software.

    1. Re:The nail in the coffin release by jd10131 · · Score: 3, Interesting

      I develop commercial software with Qt

      I do not see how Qt is "moving away from the C++ standard" Trolltech produces a library, standards conformance depends upon your compiler.

      Trolltech does not produce their own version of C++; but their library does provide some macros that may appear to change the language. (ie: the new foreach)

      You are free not to use these things, or you may use as much fancy-pants standard C++ as your compiler will let you get away with. I mix Qt and some pretty steep template metaprogramming code with (uh, relative) ease.

      Furthermore, there is are excellent bindings to python, if you'd like to write something in another language. http://www.riverbankcomputing.co.uk/pyqt/

      Trolltech is a company that derives revenue from Qt. Without that revenue TT, and thus Qt, would not exist. I believe the reason for not releasing a regular GPL version for windows is the entrenched culture of piracy.

      There is a book available with a recent version of Qt included on CD. I am not aware of the license it is under, but I've heard the book is quite good.

    2. Re:The nail in the coffin release by Qwavel · · Score: 2, Interesting


      The STL is part of the C++ standard. So, when TT decides to create some new template based container classes, hut to create their own rather than using the STL, I consider this to be non-standard.

      Microsoft did the same thing years ago, back when the standard wasn't ready. People got really mad at them (which was quite ligit because MS knew this would be bad for developers though good for themselves).

      As the standard and its acceptance have improved, MS has improved their compiler and their STL to the point where they are now (v7.1) very good, and very compatible with GCC 3.4 and with Intel. They have not retrofitted the STL to MFC, but they haven't changed MFC much in a long long time. If they came out with a new library at this stage and didn't use the STL I would accuse them of undermining the standard and I would not accept the need to make money as an excuse.

      I understand, of course, that companies don't do these things to be evil, they do it to make money. But TT doesn't do a very good job of balancing the bottom line, with PR, and the general interests of the community. Even they admit that they (not to mention the rest of us) would have been better off if they had GPL'ed QT much sooner.

      Using the version of Qt in the book is dead-end since using it would mean being stuck with that version on all platforms.

    3. Re:The nail in the coffin release by elflord · · Score: 2, Informative
      So, when TT decides to create some new template based container classes, hut to create their own rather than using the STL, I consider this to be non-standard.

      Trolltech had container classes before C++ was standard. Recently, Trolltech have built in a substantial amount of STL compatibility to their classes. They're not moving away from the standard at all. BTW, the python bindings for Qt are very nice.

    4. Re:The nail in the coffin release by be-fan · · Score: 3, Insightful

      Qt doesn't use "non-standard" C++. You can write Qt code in regular C++ code --- moc simply writes a lot of boiler-plate for you. What you're complaining about is not that Qt uses non-standard C++ (since it doesn't), but that it doesn't use the STL style of programming. However, given that C++ is a multiparadigm language, that's perfectly valid.

      GUIs are inherently object-oriented and amenable to dynamic programming techniques. That's why people like Objective-C (Cocoa), and Smalltalk so much for GUI programming. The STL style of C++ is very anti OOP and anti dynamic programming. Indeed, the creator of the STL, Alexander Stepanov, has said OOP is a hoax. While Stepanov is entitled to his opinion, and the STL is certainly useful for a wide range of tasks, it's silly to try to shoe-horn Qt into a programming style that doesn't fit it's problem domain.

      --
      A deep unwavering belief is a sure sign you're missing something...
  11. Qt Non-commercial version for Windows by SeanAhern · · Score: 3, Interesting

    I've been reading a lot of posts to this article which claim that there is no free version of Qt for Windows. If so, then what's this?

    I don't program on Windows, so I can't tell definitively, but that web page reads right. It sounds like there's a GPL version for Windows that lets you write non-commercial software without paying a dime to Trolltech. It's based on version 2.3, but it is Qt.

    If I'm wrong here, please educate me.

    1. Re:Qt Non-commercial version for Windows by Brandybuck · · Score: 4, Informative

      There is a non-commercial 3.1.2 version, but it's only available with the new Qt book (forget the title). It's much better than the 2.3 NC version. Besides being newer, it also supports many more compilers (and even comes with an older BCC).

      Unfortunately, as you can see by those verions, it limits you to certain versions. How long after 4.0 is released until a NC version is available somewhere? For some people this is an insurmountable problem. For others, like me, it's merely an annoyance because Unix/Linux is my primary target platform.

      --
      Don't blame me, I didn't vote for either of them!
  12. Why avoid Qt Non-commercial by tepples · · Score: 2, Informative

    Qt Non-commercial for Windows is based on ancient Qt 2.3.

    Qt Non-commercial for Windows requires Microsoft Visual Studio 6, which is priced out of my league. Most hobbyists on Windows would prefer something that works with MinGW, a port of GCC to Windows, and Dev-C++, an IDE around MinGW.

    Qt Non-commercial for Windows is not published as source code and is thus incompatible with libraries published under the GNU General Public License.

    Qt Non-commercial for Windows is not compatible with selling copies of the program, even at cost: "A non-commercial setting means that you must not use the package in the course of your employment or whilst engaged in activities that will be compensated. A non-commercial application is an application that cannot be sold, leased, rented or otherwise distributed for recompense."

  13. Non-commercial 3.2 version for Windows - $31.49 by gregfortune · · Score: 2, Informative

    While not completely free, a book written by two trolls is available here and sold through Amazon.com for $31.49. That book includes a non-commercial version of Qt 3.2 for Windows.

  14. Pretty close to free - Only $31.49 with a book by gregfortune · · Score: 2, Informative

    While not completely free, a book written by two trolls is available here and sold through Amazon.com for $31.49. That book includes a non-commercial version of Qt 3.2 for Windows.

    Bite the bullet and buy the book. Or consider it $32 for the license and get a free book...

  15. Re:C++, bad news by Anonymous Coward · · Score: 2, Interesting

    You're right, there are a number of reasons to support standards. But the raison d'etre of standards is simple: compatibility.

    This issue is clearly moot in Trolltech's case, because anyone who would be using the QTL is using Qt and will have to distribute libraries anyway.

    The side benefits provided by standards can be extensive. For example, using the STL would mean that programmers wouldn't have to learn as much new API.

    However, if the standard is ineffective, or the new QTL is enough of an improvement, increased programmer productivity due to the superior tech. will outweigh the initial cost of learning.

    The net result of all this is that Trolltech has no reason at all to use the STL merely because it is a de facto "standard."