Slashdot Mirror


TrollTech Releases Qt 3.0

Dr. Sp0ng writes: "TrollTech released Qt 3.0 today. Among the new features are platform- and database-independent data-access features, data-aware GUI widgets, a much-updated Qt Designer, and much better internationalization and font handling features. It breaks binary compatibility but keeps almost complete source compatibility with Qt 2.x. The KDE team has already begun work on KDE 3.0, which will use the new toolkit."

16 of 285 comments (clear)

  1. Re:Call me old fashioned... by hawkstone · · Score: 2, Informative



    "Recode"? It for the most part requires only a re-link. Thus the "breaks binary compatibility" but "almost complete source compatibility". Changes to any source code which uses Qt should be minor to zero.

  2. Re:Killing Gnome softly by Anonymous Coward · · Score: 1, Informative

    GNOME has had database abstraction and data-aware widgets for ages, fuckwit.

  3. Re:Binary compatibility by Dr.+Sp0ng · · Score: 5, Informative

    While having open-source code makes source compatibility easier to handle than binary compatibility, I've been wondering if there has been any work towards improving binary compatibility between versions of major libraries.

    This is an issue with C++... since most of KDE's widgets are subclasses of Qt widgets, they are very dependant on the signature of the Qt class. When the class signature changes (for example, when a function is added or removed, or a data member is added), the derived class needs to be recompiled or the linking will be all screwed up. This isn't an issue between minor revisions of the library as the API is stabilized, but with a major jump (2.3.1 -> 3.0), the API or implementation changes and things must be recompiled.

    It's impressive that TrollTech (which is a great company, btw) managed to keep source compatibility so well. I'm a professional developer and we're using Qt for our app (which is currently ~20,000 lines), and exactly *1* line of code needed to be changed when we moved from 2.3.1 to the 3.0 betas.

  4. Re:was wondering... by ryants · · Score: 5, Informative
    where does Trolltech get its revenues from? Support, selling some other product?

    You may write commercial/proprietary/non-free software only if you have purchased the Professional or Enterprise Edition. Qt for Windows is only available as Professional or Enterprise Editions.

    So, basically, you can (have to) pay to get away from the GPL/QPL/whatever their license is called these days.

    They also sell training.

    See http://www.trolltech.com/developer/faqs/general.ht ml?cr=1

    --

    Ryan T. Sammartino
    "Ancora imparo"

  5. Re:Something to think about by Lface · · Score: 3, Informative

    How far would Microsoft have gotten if they "broke binary compatibility" with major releases of Windows? Basically, not far at all. That's not to say that Windows has perfect backward compatibility, but I don't think it's too strong a statement to say that one of the reasons Microsoft has dominated is that they have given people an upgrade path for their old applications.


    Just keep the old major version around, what's the problem with that? I have both Qt 1.x and Qt 2.x installed already and I can happily run programs linked against both.

    Windows has problems with having different versions of a dll installed at once leading to what is often called dll hell, but this is not a problem with Unix.
  6. Re:Something to think about by Anonymous Coward · · Score: 2, Informative

    There are binary compatibilities between certain Microsoft operating systems. When going from Windows 3.x to Windows 95 Microsoft had to keep all the old libraries in addition to the new Win32 libraries. In the case of XP, Microsoft came up with a library of "shims" - wrappers around the program that successfully routed the calls to a similar method.

    Linux distributors use a method similar to the first one - they supply both libraries. However, the binary library for Qt is just 5MB, a tiny amount - libc5 is even less, and in the long run it makes for a better API, a cleaner system, and far faster software development.

  7. Re:Qt improvement BETTER than KDE improvements by gururise · · Score: 2, Informative
    This is great, but.... there is one major problem with your arguement.

    In order for you to make your Qt application cross platform (linux/win32), it's gonna Cost ($$$) you an arm and a leg in license fee's for the Win32 version of Qt, which, by the way is NOT FREE.

    Don't get me wrong, I love Qt, but if it costs me $2k to 3k grand to make my application cross platform, forget it! I cannot afford that. In addition, if a commercial company wants to develop software for linux, they too have to purchase a Qt license ($$$ several grand), unless they want to release their app under GPL, which means they can no longer expect to sell their app and make money.

    So just because Qt is free, as in GPL, it doesn't make it more free than Gtk, which is LGPL. GTK apps face none of the problems that Qt apps incurr. A GTK app can be make open source or closed source, and can be made cross platform or uni-platform... ALL FOR FREE.

    And that, folks, is the biggest difference between the two widget toolsets!

  8. Re:Binary compatibility by davecb · · Score: 2, Informative
    As another commentator pointed out, this can be hard if your C++ compiler gets in the way (;-))

    The general problem was solved back before Unix (on Multics, to be precise), and an equivalent problem was solved for databases by the relational algebra folks.

    You need a motivation to do it, though, and that motivation's not there. You need to be worried about stability without preventing innovation. A few years back a quite large part of it was solved for Suns by My Evil Twin, David J. Brown: a two-part version number for every interface in the libraries, checked at link time.

    --dave
    --
    davecb@spamcop.net
  9. Re:are all KDE contributors paid licensees? by small_dick · · Score: 3, Informative

    Ahhh...so as long as they use Linux, not Windows, they can do this. Actually, on X11, you can use a number of "free" licenses for the end product, and be compensated for creating it as well.

    The Linux Qt goes out as a "Free Edition" while the Windows Qt goes out as the "Non Commercial" edition, with different restrictions on each.

    The GPL is not all-knowing is this case. Reading the GPL tells you nothing about the following, which applies to Qt-win:

    "Terms of use"

    "Developing and distributing applications"

    "Private users may use the Qt non-commercial edition in a non-commercial setting to produce non-commercial applications."

    "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."

    Snipped from:

    http://www.trolltech.com/developer/download/qt-w in -noncomm.html

    Seems odd to use different licences for different platforms, but I'm sure there is logic in it.

    --


    Treatment, not tyranny. End the drug war and free our American POWs.
    See my user info for links.
  10. Re:Qt? Who needs it... by Mochatsubo · · Score: 2, Informative

    Of course if you are in the market for a Python GUI, you should also check out PyQT in addition to wxPython. A nice tutorial for PyQT by Boudewijn Rempt can also be found here. -willryu

  11. yacc ... by _generica · · Score: 2, Informative

    from src/moc/README
    ----
    Notice that moc does not compile with GNU bison, use standard AT&T yacc or Berkeley yacc instead.
    ----

    why do these people refuse to use commonly available tools. I've spent a lot of time searching for these, neither of which are under developemnt or even easily availble. Bison is under development. Why don't they use it, or at least let us use it ??? Because of this, I can't compile qt-3.0.0, and I think this is unacceptable.

  12. No, it's not by GCP · · Score: 2, Informative

    I just came from their site. I just read the FAQ. They reiterated the point in several of the answers: "no, you have to buy the pro or enterprise version if you want to sell on Win32", "no the free version is not even available on Win32, only the pro or enterprise version," "no, you *can't* even develop for free on Win32 and then pay for a license when you decide to start selling, the Win32 license requires you to pay us, even for development...."

    They couldn't be much clearer. Or, are you saying that their Website is wrong?

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  13. Re:QT Pricing by Anonymous Coward · · Score: 5, Informative

    Hi!

    We will be releasing Qt/Windows 3.0 non-commercial and Qt/Mac 3.0 non-commercial within 1-2 weeks (current release date: 20/10/2001)

    Michael
    TrollTech A.S.

  14. Re:Cross-platform configuration by Warwick+Allison · · Score: 3, Informative

    You missed QSettings.

    It's the registry on Windows, and ~/.foobar files on Unix.

    http://doc.trolltech.com/3.0/qsettings.html

    Cool, eh?

    --
    Warwick

  15. Re:Something to think about by IGnatius+T+Foobar · · Score: 3, Informative

    I call bullshit.

    Here's a simple exercise: go to the nearest Windows machine, preferably one loaded with lots of apps of various vintages, and delete all but the newest VBRUN*.DLL, MFC*.DLL, etc. Then see how many of your apps work.

    When Microsoft releases new widget sets, API's, etc., older applications do not automagically use them. Having, for example, MFC 2 and MFC 3 on your system isn't any different from having Qt 2 and Qt 3 on your system.

    What Microsoft did get right, is the installation procedures: have multiple libraries sitting on the same machine if necessary, but don't bother the user about it -- it's not their problem.

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  16. Re:Server Architecture Crucial by be-fan · · Score: 3, Informative

    Yahoo. You don't need a client-server architecture achieve remote usage. There's a program on Windows called Citrix ICA. It allows you to run programs remotely. On a T1, Excel runs only a little slower than running KSpread does locally! The real reason X runs as a seperate process isn't network transparency, but protection. The GUI needs to protected place where it can maintain data about the windowing system. On Windows, this windowing code is put in the kernel. Here, user apps can't crash it, but it can crash the kernel. The only other safe place is a seperate process. In theory, one could put the windowing system into a library, so all UI calls would be simple function calls, but on most chips, there is no way to protect library data structures from the user process. The old x86 segmentation mechanism used to be able to check a memory access based on the privelege level of the segment holding the calling code. If something like this could be done for pages (only the GUI's code pages would have the right to access GUI data), then we could get rid of this whole windowing process crap altogether. But, I digress. That wasn't my point in the first place. I was saying that you could put the window manage in a library and dynamically load it into the X server. The X sever doesn't need to be protected from the window manager, and putting it in a library would offer most of the flexibility of putting it in a seperate process. This would speed up a lot of the window/manipulation operations that are so slow in X today.

    --
    A deep unwavering belief is a sure sign you're missing something...