Qt 5.0 Released
sfcrazy writes "The Qt project and Digia, the company behind Qt framework, have released the most awaited C++ framework for developers, Qt 5.0. The company claims it's one of the best releases to date and has invested a significant amount of time behind this release. It's an overhaul of the Qt 4.x series and makes Qt fit for the future."
Update: 12/19 17:46 GMT by U L : Major new features include an overhauled graphics layer, full integration of Qt Quick for creating flexible interfaces using Javascript, and increased modularization including the first steps toward de-emphasizing QtWidgets by separating them into their own module.
The company claims that it's one of the best releases till date
Well, you would rather hope so.
How is Qt still relevant?
This is like the millionth time that we've had a headline that is "Open source project whose name does not imply function releases new version"
And a summary that is "The version number, which we're happy to tell you, was highly anticipated, but forget any discussion of what the project is".
I know we like open source here, but if the project is anything other than linux, a major distro, or a major programming language, this is awful editting, that repeats over and over. Not even mentioning any new features is inexcusable.
For everyone else: Qt is a library/framework for developing GUI applications.
The Qt project and the company behind Qt says the latest version of Qt, which is an overhaul of the previous Qt version, is one of the very bestest releases of Qt that Qt has ever released. Qt!
Especially considering how irrelevant point releases are this days.
Looks to be on the way to that, instead of just keeping a good clean GUI system. So, when is full QT OS coming out?
It's mature and has all the bells and whistles. Only other alternative is WxWidgets...
What else did you have in mind ?
Last I heard they pulled Wacom tablet support. (QTabletEvent is still there, but never gets generated) Assuming this is still the case, this makes it a non-starter for a bunch of Qt Apps -- off the top of my head; Mari, Maya, and Mudbox among others.
The company claims that it's one of the best releases till date
Well, you would rather hope so.
No. What they should do, is release complete shit - like MS with Vista. Then on the next release, make THAT one better than everything else - like WIndows 7 - and make a shit load of money on folks who desperately need to "upgrade". Then after that release shit again - like Windows 8.
Then...well, you get the drift ...
My foot hurts.
I work at QT, and have serious doubts that we could release a programming framework like this.
Did they make any moves towards using standard C++ features rather than the MOC ugliness? What with Boost::Signals, sigcxx and C++11, I see no reason why they have to bastardise the language to provide signals.
How is this going to impact KDE? Will this be the start of KDE5?
It's the framework for KDE, which is the excellent, fast UI environment I use on my Linux rigs. Apparently a huge number of other projects either use it currently, or have used it in the past, including a number of well-known projects: Amazon Kindle, Google Earth, Adobe Photoshop, MythTV, Rosegarden, Skype, Virtualbox, VLC media player.
This really is the best cross-platform Apps framework out there. Far better than HTML5/Javascript.
So, is it fully standard C++ now or do you still have to use their hokey preprocessor?
"It's an overhaul of the Qt 4.x series and makes Qt fit for the future."
You mean to tell me that the old version of Qt were unfit?
I've used wxWidgets/wxWindows in the past, and that has Scintilla built in. (Scintilla does syntax colouring for dozens of languages, allows bookmarks, breakpoint markers, etc, expand/collapse and is a good foundation for an IDE) I'm about to start a big project which includes a Lua editor/debugger, and now I'm wondering if I should look at Qt.
Does Qt 5 (or earlier) have a similar component to Scintilla? I presume it has all the other IDE-type stuff like docking panes, tab-based "notebooks", etc.?
Slashdot has really been behind the times lately but this realllly takes the cake. Quciktime 5 has been out since April of 2001 and they are up to 7.6.6. ;)
You can now use any C++ function as the target of a signal using the new QObject::connect() syntax. This is a huge win because with the new syntax the compiler and linker can check that the connections are valid instead missed connections just causing a run-time error.
The moc preprocessor is still required for QObject derived classes, mostly for the translation framework and also to provide support for the old signal/slot syntax which is still allowed. Qt5 doesn't require a C++11 compliant compiler, which is a good thing since there aren't yet any fully compliant compilers. I'm sure if there is a Qt6 it will require C++11 and use those features.
Some of the really cool C++11 features like move constructors aren't necessary with Qt because it's containers implement reference counted copy-on-write, so when you assign a QMap from another QMap no copy is made, and if the old QMap was an rvalue then there is never a need for the copy to be made when the new QMap is modified. One of the big improvements Qt4 made over Qt3 was to make container assignment atomic so this mechanism worked with threaded code and defensive deep copies weren't necessary anymore.
It's an add-on. My bad. By the way, I think the better port is here: http://www.griffin.net/2010/01/hacking-the-amazon-kindle-dx-part-2-qt-and-sudoku.html
QT is about the best "native SDK" I've seen out there. In the company I work at, we dev our internal tools in Qt, and at home my hobby projects are in Qt also. They run on mac, linux, and windows. Other projects that run on Qt include Maya (Autodesk), they recently swapped over to using 4.7.1. Knowing autodesk, in only a couple decades they'll switch to Qt5!
I used Qt Quick briefly. It seems like you get a lot of deep powerful customization, but that comes at a cost. It eventually pissed me off so I went back to QWidget, and my productivity soared.
I would not have completed my project in a reasonable time using Qt Quick. It is not "quick". Sometimes, you just want to drop tables, check boxes, buttons, etc. on to your main window, tie the click event to a slot, and call it done. You are fine with whatever default styling and rendering that Qt and the OS decide is appropriate for the widget's click/hover/etc event.
It seems with Qt Quick, you have to specify all that nonsense. Plus, the Qt Quick editor tool felt complex and confusing. I avoided it and did everything by hand. Qt Designer for QWidgets is a drag-n-drop breeze. I even got my manager on board after he saw me using it. He is an EE, and he really likes it. He is used to spending $500 on Visual Studio Pro to what Qt Designer does better for free.
Maybe I just needed to study Qt Quick more to get past the learning curve, but I knew how to do it the widget way, and I wanted the project done.
Has anybody had success migrating their project from QWidgets to Qt Quick? Unless I see a strong compelling reason, I am sticking with QWidgets. It works really well for me.
I wonder if Qt 5 will adhere better to OS X (Macintosh, Apple) user interface guidelines. Previous versions of Qt have stomped on OS X conventions at seemingly _every_ possible opportunity.When I see an app that I'm considering using is made with Qt, I shudder. I'm never sure that it is Qt to blame or the developer, but I'll bet that it is mostly Qt. In my opinion, it is a horrible cross platform solution, but somewhat less horrible than some of the others. A Windows-using friend of mine says that it also sucks on Windows and that he thinks it's mainly a Linux thing.
I must admit, as someone who has coded in Qt, that is has some of the best documentation I've ever seen (from a developer's perspective). Just look at the docs on Containers . There's diagrams, examples, tables, and pictures.
This means a crappy release of KDE 5.0!