Qt Opens Source Code Repositories
sobral writes "Following the announcement of the LGPL license model, since yesterday the Qt source code repositories are open to the public together with their roadmap. The contribution model is online and will enable developers from the community to submit patches through a single click process, avoiding the previous hassle of sending in signed paperwork. The code is hosted at qt.gitorious.org and an instant benefit of this launch is that Qt Software has been working together with Gitorious maintainers for the last four months to improve Gitorious and all these new features are already submitted upstream."
and smells like it too.
Sales of Linux netbooks collapsed. Google is providing a standardized UI on top of Linux. Symbian is dead. Basically, there is very little need for a specialized UI toolkit like Qt now that there are both fewer platforms for it to run and more mature competitors on the remaining platforms.
Sayonara, Qt. Hope you beat Gnome on the desktop!
The only complain developers had with QT/KDE was that it was not LGPL. It was one of the main reasons behind creation of horrible GNOME/GTK. Now lets hope that god awful GTK dies and opens-source developers embrace QT resulting in unification of open-source GUI.
Amen..
This is like ... well .. 18 years to late ..
echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
I hope Gnome switches to Qt one day, its so much nicer than GTK.
I worked on the software for a Motorola unit that used Qt UI framework. What is interesting is that Moto moved away from Qt when one of their major competitors (Nokia) bought Trolltech (the company that makes Qt). Two years later they open source it, I don't quite get it...
1) replace Qt memory management with TR1::shared_ptr (or boost).
2) replace Qt collections with STL collections.
3) replace Qt threads with boost::threads.
4) replace Qt signals and slots with boost::signals.
In other words, make Qt play nice with STL and boost, which are the foundations for developing C++ code these days.
Maybe now that QT is LGPL, Mathworks will finally transition MATLAB on OS X out of X11 and make it behave like a proper OS X app. ...One can dream....
Then let the better UI win. Will it be one that's Java-only, or one that can be used in its native C++ environment or with Python, Ruby, or even Java?
Even if it were true, and with about half of the smartphones in the world running Symbian I don't think it is, what has that to do with Qt?
Huh? There are more platforms than ever for Qt to run. Do you mean Microsoft isn't delivering operating systems anymore?
I have to say, I'm glad of this trend lately for open source projects to primarily publish their source through Git, and particularly through these very able Git hosting sites like gitorious and github. If you've worked with CVS and SVN open-source projects most of your career, the experience is simply incomparable. With the way Git works, and particularly with the implementations the hosting companies provide, it's very easy to fork a project, make the changes you want, and always have the power to commit to a remote repository that not only keeps track of all your commits but ALSO how all your commits relate back to the original forked project...
Instead of downloading someone's tarball and (maybe) emailing them a diff (or just posting your own duplicate of their source with your little changes), it's like you're making a shadow copy of a projects source, where you have all the control but no information is duplicated or lost.
Don't blame me, I voted for Baltar.
This doesn't work. They tried it with Vista.
the shared_ptr equivalent in Qt is QSharedPointer (surprise!) not QPointer which is something quite different. I do suggest not using shared_ptr as the Qt version has better cross-platform support and is easier to use and like most Qt things has better readability.
What reactionaries are modding this "troll"? It's a perfectly valid comment, for anyone who has actually sat down and compared the libraries. Also, it's a perfectly reasonable issue to consider, now that both desktops' core libraries share common licenses and have essentially become interchangeable. Yes, that interchange would involve hard work, which may lead reactionaries to reject it, but what progress doesn't involve hard work? It would at least be nice to see a study of some GNOME app re-implemented in Qt, and what the pros/cons are. I know for a fact that at least a few apps have have been ported from GNOME to Qt (Qt3, though, I think), and probably some have been ported the other way too. Even just those historical cases with Qt3, the case study would be interesting.
Last I checked QT 4.5 Visual Studio compiler still required a license and lots of money. Only the MinGW + QT was free. I guess it's ok if you use sharedevelop and tell it to use the MinGW compiler toolchain, but for someone wanting the VS integration it is not too good. Has this changed?
It's not going to happen. Qt makes sense if you develop in C++. Gnome is going to move gradually to Python and C# development; C++ is just not on its roadmap.
Is there any kind of Mercurial hosting for open source projects you can recommend?
To be fair QSharedPointer showed-up in 4.5, hence the reason I had never heard of it until now. OPointer was forced upon me due to everything being a QObject, but then there was the other non-Qt half of the code that used boost, it was not pretty.
Gnome is going to move gradually to Python and C# development
Seriously? C# in mono and all that?
Sometimes the decisions development teams make absolutely mystify me.
What can I say... Qt is becoming a dream platform thanks to Nokia's insight!
- a powerful language/library (C++)
- real cross-platform
- support for embedded and mobile applications (a great alternative for the difficult Symbian C++ language)
- open source and nice licence (LGPL)
- exemplar own IDE but also Eclipse/VS integration
- additional languages supported
What else could one ask?!
"Sum Ergo Cogito"
Anybody else misread that as a specific part of the female anatomy?
Why? it's a wonderful platform, and an excellent language. Yes, it has some potential problems with patents, but so does half of Linux' multimedia apps and nobody cares much.
If your country has backwards patent laws it's your problem after all, not ours.
No problem is insoluble in all conceivable circumstances.
After such a huge change when will see an LGPL version of PyQT ? Crosses fingers...
The QtUiTools is not meant to be linked against, its a library that is shipped with designer (an development-application) so its kind of odd to judge all of Qt on a bundled application. Perhaps you should try to move the classes you require from this library into QtGui. You may want to file a feature request or even do the work yourself (this post is about the repos being open!!). The tools-library you seem to want to use is not for major consumption, doesn't have binary compatibility and all that. So its great that you *can* use it, but maybe you are expecting a bit too much to get it without any investment at all ;)
As posted elsewhere in this story the Qt APIs promote a certain design that make your application and your code easier to maintain and read.
So to answer your point 1;
The parent-child relationship is there for memory management purposes. Which directly links to having an owner of an object. If your object is owned by someone else, that someone is responsible for deleting it. This is free in Qt when you use QObject. If your object is not owned by one thing but shared between many you use a QSharedData based concept which immediately makes you stop using pointers too.
This makes it absolutely clear what is what in common usage of the code and you'll notice that memory leaks or crashes due to dangling pointers become very easy to avoid.
So, you may be right Qt is not as flexible as STL. But I don't mind a bit of structure. Less rope to hang myself.
Another point that probably needs clarification;
I think it does, you can't have powerful signals/slots without introspection. The huge advantage of using introspection to do connections is that you don't need a pre-compiled interface to code to. Which then avoids a lot of nastyness in C++ with library loading and linking etc.
Which makes it possible to have a GUI designer as powerful as QtDesigner, among others.
Gtk+ is a mess, but it's really an apples and oranges comparison. Gtk+ is purely a GUI library, with Glib below it performing some utility functions, and Gnome above it for more convenience functionality.
Qt is a full application framework, with all levels of networking and graphical sub-libraries/plugins.
If Gnome switched to Qt, development would be set back by years. It's no small task to convert all those programs. Some are C-based (pure Gnome libraries and Gtk+), others C++ (Gnomemm and Gtkmm). Gnomemm and Gtkmm is more pleasant to code with, in my opinion, but they still doesn't abstract many tasks beyond a GUI.