10 ms·
QT 5 launched by new owner, Digia
- nodata 14y ago"Qt 5 delivers a step function increase in performance, functionality and ease of use and will be the platform on which full Android and iOS support will be delivered during the coming year."
- bergie 14y agoI've heard people mentioning they already have Qt applications in both App Store and Google Play, but I don't know any specifics. So I suppose the support is there with some tweaking already. And of course Qt will be the main SDK for both Blackberry 10 and Jolla's Sailfish.
- daliusd 14y agoThere is Necessitas Qt 4.x port for Android that is pretty solid and was contributed to Qt Project quite recently (http://blog.qt.digia.com/blog/2012/11/08/necessitas-android-port-contributed-to-the-qt-project/ http://blog.qt.digia.com/blog/2012/11/08/necessitas-android-...). I have not found good iOS port when I was looking for one. At least for BlackBerry it already is - you can write Qt apps for BB10/PlayBook OS just now.
- DennisP 14y agoDidn't know about Sailfish. Interesting that they're focusing on multitasking. It made me wonder whether BeOS might not make a great mobile OS. Designed for limited hardware, excellent multitasking, and an opensource version in alpha status now.
- Scramblejams 14y agoHaving experienced BeOS, I've always been bummed it didn't see wider success. Its UI responsiveness under heavy load has never been equaled.
- vidarh 14y agoAchieving UI responsiveness under heavy load is not particularly challenging - the Amiga did it well too, without much effort: Put UI handling in separate threads/processes (Amiga "Tasks" would've been processes in a memory protected OS, but since AmigaOS isn't, for all intents and purposes a Task behaves like a thread in modern OS"s), and prioritise input and UI control handling threads higher than others. Lack of UI responsiveness under load in modern OS's is down to laziness - this was largely a solved problem 20 years ago, on hardware magnitudes slower.
- ygra 14y agoThere's a trend back to it, at least in the mobile world. To the extent that Microsoft removed all blocking calls from the API, forcing the programmer to use asynchronous APIs (which, admittedly, works well enough given language advances).
- beagle3 14y agoIt's not particularly challenging theoretically, and yet it is so seldom achieved that it is very sad. My old iphone 3G stalls for seconds at a time due to memory pressure; Windows stalls for seconds at a time due to CPU pressure. So does Linux with X; I have no experience with Android, but I'd be surprised if it is different. So apparently, it IS a challenge, even though there is no rational explanation why it should be.
- marshray 14y ago* Garbage collection * APIs blocking on network operations (e.g., gethostbyname()) How does BeOS avoid/avoid lagging with these things?
- timv 14y agoThe achieved the latter by making "the right way" also be "the commonly-used way" Be Inc did 2 things well in this regard * They designed their API/App Framework so that launching threads was easy, and passing messages between threads was safe & easy * They developed a culture (both within the organisation and also within their developer community) of using those features everywhere. Those two things are more closely linked than they may appear. The framework was explicitly message-based. You interacted with different components by sending and receiving messages. And it was heavily threaded (Be called it "pervasive multi-threading"), to the extent that every window had its own thread, separate to the main app thread. By having those features, and not having any particularly good way to write apps except by using the official framework, the developer community was forced to learn how to develop multi-threaded, message-passing apps. And once developers started to think in terms of messages and threads, it was natural for them to use those elements to solve all sorts of problems, so that no self-respecting BeOS developer would ever think to do significant processing inside any of the UI handling threads.
- FigBug 14y agoI'm pretty excited about this. I probably won't use it for the UI. My desktop apps are written in Qt, so it will be nice to be able to reuse a lot of back end code. I was using Qt's serialization (probably not the best idea in the first place) to store my data files and I had to redo all the serialization so my iPad version could create compatible data files.
- jeroen94704 14y agoYeah, that grabbed my attention too. If they pull it off well ... the possibilities are astounding.
- pkorzeniewski 14y agoGreat news, QT is such an amazing platform, I'm happy to see it's being actively developed by their new owner :)
- kombine 14y agoQt's "Write once, deploy everywhere" has been able for many years on the desktop, until mobile revolution came with incompatible interfaces and now we have to start again. Good news they are working on a solution to this challenging problem!
- mildweed 14y agoHere, I thought that Apple had sold Quick Time.
- haakon 14y agoPeople will never learn to spell Qt correctly. Never. Same with pronunciation.
- mikevm 14y agoHow do you pronounce it? I say "Cue-tee", but I heard some people calling it "Cute" (wtf?).
- dserodio 14y agoIt's pronounced "Cute": http://bits.blogs.nytimes.com/2010/02/16/that-smartphone-is-so-qt/?pagewanted=all http://bits.blogs.nytimes.com/2010/02/16/that-smartphone-is-...
- haakon 14y agoI'm not sure I agree that "cutie" is any better than "cute". :-)
- joezydeco 14y agoI had always heard it as "cue-tee" because of their tribute to Xt. Then Nokia came along, and all of their sales staff were saying "cute".
- georgemcbay 14y agoIt was "cute" pre-Nokia. I was doing Qt development in the 3.0-4.0 timeframe (3.x was release, 4.0 was in beta) back in 2004/2005 when Trolltech was independent and I attended a Trolltech sponsored conference at which all the "Trolls" called it "Cute". You can't pin this one on Nokia. FWIW, despite knowing the "real" pronunciation, I refuse to call it anything other than Q-T ("Cue-tee") aloud
- 14y ago
- stewie2 14y agoQt is the best. Without it, I will not use c++ anymore.
- jeroen94704 14y agoHah, that's pretty much what I said: http://weblog.jeroen.ws/blog/2012/11/19/how-relevant-is-c-plus-plus-today/ http://weblog.jeroen.ws/blog/2012/11/19/how-relevant-is-c-pl...
- skrebbel 14y agoWtf! We work together for months and you never tell me that you have a blog?
- buu700 14y agoSeriously dude, I'm pretty upset about this. Please see me in my office first thing tomorrow morning.
- jeroen94704 14y agoIt's pretty recent :).
- stewie2 14y agosome parts of Qt, for example QtCore, should become C++ standard.
- duaneb 14y agoHow about for non-GUI applications? I don't think I've ever used QT and I love c++.
- zokier 14y agoQt has plenty of nice things for non-GUI applications too. It's more of a framework than just a library.
- smogzer 14y agoPeople from hacker news, check out qtquick or QML, it's like html but without the legacy and the bad parts, just powerful syntax for developing apps, and thanks to network transparency QML can be downloaded from the web also. QT5 is a dream come true, and when it becomes omni-deployable (android, ios, raspberry pi) it will be even better.
- joezydeco 14y agoQML is nice, but make sure you have the processor overhead for it. It's all javascript and the interpreter will suck up your processor time. For people doing lower-end embedded stuff Qt5 isn't going to give you much, if you can run it at all.
- lfranchi 14y agoQt5's QML2 is using V8 as the JS engine and an opengl es2 scenegraph, so it's actually quite fast. Depending on your embedded platform, you should still be able to achieve pretty impressive performance.
- joezydeco 14y agoUm, okay. Can you point me to a MIPS implementation of V8 that runs well on a 360 MHz R1 architecture? Oh and my CPU doesn't have any hardware OpenGLES acceleration. How should I work on that?
- rat87 14y agofortunately or unfortunately the future will require all gui capable computers to have hardware accelerated graphics. To compensate for bad drivers there will be fallbacks to somewhat fast software rasterizers like llvmpipe.
- pretoriusB 14y ago>Um, okay. Can you point me to a MIPS implementation of V8 that runs well on a 360 MHz R1 architecture? Umm, okay, can you point to anyone that mentioned that Qt5/V8 would be good for those chips? It's not like anyone came in the thread writing that "Oh, QT5 javascript scripting would be great for my 360 MHZ R1". Oh and my CPU doesn't have any hardware OpenGLES acceleration. How should I work on that? You shouldn't and nobody said you should. Just like nobody said it would be fine to program Big Blue with, or Arduino.
- mtgx 14y agoThey are also going to expand support for OpenGL in Qt 5.1, it seems: http://www.phoronix.com/scan.php?page=news_item&px=MTI1NjI http://www.phoronix.com/scan.php?page=news_item&px=MTI1N...
- smegel 14y agoNow gimme PyQt5 and ill have a very merry Christmas indeed :)
- Loic 14y agoFrom the announcement: "Migrating applications developed against the previous Qt version 4 is straight forward, mainly requiring a simple recompilation." So, I suppose that the PySide bindings will be ready in no times.
- toyg 14y agoPyQt 4.9.6 already supported Qt 5.0-rc1, so I guess it's just a compilation away :)
- przemoc 14y agoYou meant PySide 5, right? ;)
- smegel 14y agoAfter i migrate from Solaris to Linux i suspect yes. Oh the things I'll be able to do once Solaris is merely a bad memory...
- DocSavage 14y agoThere is a recent presentation on the Qt 5 Roadmap available online: http://www.youtube.com/watch?v=3QgG9oYhH-c http://www.youtube.com/watch?v=3QgG9oYhH-c Slides for this and other Qt talks are available here: http://qtconference.kdab.com/node/25 http://qtconference.kdab.com/node/25
- dserodio 14y agoDoes anyone know if Python bindings are on their way?
- toyg 14y agoPyQt 4.9.6 already supported Qt 5.0-rc1, so I guess it's a matter of days (or you could try compiling that against 5.0 GA , it might work just fine).
- SparrowOS 14y agoImagine if Obama staged the school shooting. That's what happened with 9/11. I was there. Kinda fucked-up. You are in denial on God? God says... empire handmaid environing neighbour appointed mother-in-law ever-present biggot countenance hand studious burial gladdens skilled in owed avoid maintaining consumption finally adorning folly idol resigned while eagle's nests forsakest India C honours asking Revenue self-same trouble majesty Law neatly ecclesiastical water-spouts turmoils drunkards distilled passions violent leaven it's_hopeless associated Known coloured deaf sittest ---- Brits and Democrats are in for a rude defeat. Say hello to Mr. God! It'll be ages for them to recover. God says,... walk in darkness. 59:10 We grope for the wall like the blind, and we grope as if we had no eyes: we stumble at noon day as in the night; we are in desolate places as dead men. 59:11 We roar all like bears, and mourn sore like doves: we look for judgment, but there is none; for salvation, but it is far off from us. 59:12 For our transgressions are multiplied before thee, and our sins testify against us: for our transgressions are with us; and as for our iniquities, we know them; 59:13 In transgressing and lying against the LORD, and departing away from our God, speaking oppression and revolt, conceiving and uttering from the heart words of falsehood. 59:14 And judgment is turned away backward, and justice standeth afar off: for truth is fallen in the street, and equity cannot enter.
- DigitalJack 14y agoSo I see that there is the open source project Qt-Jambi, which provides java bindings into Qt, and apparently has a "generator" for working with future versions of Qt. Assuming it comes up to speed with Qt5, I'd like to try this with clojure. Anyone have any experience with Qt and Java/Clojure? http://en.wikipedia.org/wiki/Qt_Jambi http://en.wikipedia.org/wiki/Qt_Jambi
- jamii 14y agoI tried it out a few years back. Using it from clojure was a bit painful at the time but you might have more luck today. Qt-Jambi relies pretty heavily on Java introspection eg scanning the fields of a class to find things of type Slot. I also had to write my own repl because UI actions are only allowed to happen inside the event loop thread. Check out github.com/jamii/inkling for some examples which may still be relevant.
- zem 14y agoi've just discovered eql [http://password-taxi.at/EQL http://password-taxi.at/EQL] and am in the process of porting a clojure/swing project of mine over to common lisp/qt. so far it's been a good experience. [i considered qtjambi, but it gave me some compilation problems on arch linux, and i figured this would make a good excuse to learn common lisp]
- VMG 14y agoIs there a dance? (see http://www.youtube.com/watch?v=NbTEVbQLC8s http://www.youtube.com/watch?v=NbTEVbQLC8s)
- jensbw 14y agoWhy link to the press release and not the epic video? http://www.youtube.com/watch?v=vhWS_bN-T3k http://www.youtube.com/watch?v=vhWS_bN-T3k
- easytiger 14y agobeacause... reading! Really should have linked to the changelog
- wildranter 14y agoDoes anyone has an idea of how much it costs to license Qt?
- nuclear_eclipse 14y agoIt's licensed under LGPL 2.1 (or GPL3 if you prefer), so it's free for proprietary/closed-source usage as long as you don't modify Qt itself, or if you at least distribute the source code of the modified Qt binaries. There is also a commercial license if you want support or to be able to modify Qt for a closed-source project, but that requires direct contact with their sales folks afaik.
- wildranter 14y agoThanks for your reply. I was considering using wxPython for my next project. But this licensing leans me towards Pyside+Qt.
- easytiger 14y agoi would assume the more interesting information is how much does it cost to license in a commercial project.
- figital 14y agoI've really wanted to dive into this for a side project. On the limited time I've had, I notice the Creator IDE UI and tutorials take an extra step I'm not used which is probably from translating the experience from Finnish to my own language (American English). Just a random guess but the commercial version could increase uptake by doing a round or two of "visual/workflow qa" for a wider-range of global users (especially the folks looking to speed through to working QML/JS demos). Will keep digging ... the "deploy local windowing" to Lin/Win/Mac looks truthy. (I think I should just start simple with a text editor and the compiler next go round)
- zem 14y agoif you want to play with it and learn your way around the api, it's easier to get up and running with python+pyqt than with c++. the python bindings are very well supported and there're lots of blog posts and tutorials out there.
- super_mario 14y agoDoes pyqt work with the just announced version 5.0?
- zem 14y agoyep. see http://www.riverbankcomputing.com/news/pyqt-496 http://www.riverbankcomputing.com/news/pyqt-496. the pyqt bindings are supported by riverbank, which offers commercial licenses, so they have every incentive to keep it up to date.
- nacker 14y agoThe official bindings are PySide, incorporated into Qt: https://qt-project.org/wiki/PySide-Tutorials-by-Experience-Level https://qt-project.org/wiki/PySide-Tutorials-by-Experience-L... There is a book out there called "Rapid GUI Programming with Python and Qt The Definitive Guide to PyQt Programming by Mark Summerfield" Code downloadable here: http://www.qtrac.eu/pyqtbook.html http://www.qtrac.eu/pyqtbook.html Full text: http://ebookbrowse.com/summerfield-rapid-gui-programming-with-python-a-pdf-d418021747 http://ebookbrowse.com/summerfield-rapid-gui-programming-wit... In all the code in that book you can just substitute "import PySide" for "import PyQt4" and pretty much everything works. In addition, if you install Qt4Assistant you will have a searchable tool for all classes and documentation.
- therockhead 14y agoIf you already know C++ what would be a good book to learn QT?
- gdy 14y agoC++ GUI Programming with Qt 4 (2nd Edition) seemed ok.
- shawn-butler 14y agoThe new signal-slot syntax for Qt5.0 [0] really makes a lot of sense when combined with new c++11 lambdas. But I guess I don't understand what they mean regarding support for c++11 generally. Are we talking about significant rewrites and with what compiler? I don't see vendors reaching compliance for at least a year. [0]: http://qt-project.org/wiki/New_Signal_Slot_Syntax http://qt-project.org/wiki/New_Signal_Slot_Syntax
- marshray 14y agoWill it still require a custom preprocessing step?
- shawn-butler 14y agoThe new syntax would not as type safety is being enforced at compile time. However the old syntax using strings is also available so if it is, then yes used the same preprocessor macro step will apply. Was reading to find answers to some of my own questions and found this link helpful regarding use of c++11 in Qt5 [0]. Use of c++11 features seems limited in the first release which makes sense. [0]: http://woboq.com/blog/cpp11-in-qt5.html http://woboq.com/blog/cpp11-in-qt5.html
- linpythio 14y agoQT5's success will lead to sailfish,BB10 and other qt based project's success.And it's contest between C++ and objective-c.
- wojtczyk 14y agoI really hope, Qt5 will become the same native cross-platform solution for mobile platforms which it became for desktop applications.