10 ms·
Qt Quick Controls 2.1 and Beyond
- mixedCase 10y agoThe work in the Qt camp is simply amazing. I just wish there were more stable bindings out there for it outside of the official C++ one and PyQt (commercial or GPL, PySide 2 is not stable last I checked). There's a promising Qt binding for Go[1] which I'm looking forwards to, but again, if I had to write an application and not want to struggle with the bindings I'm forced into the previously mentioned options. [1] https://github.com/therecipe/qt https://github.com/therecipe/qt
- ronjouch 10y agoGood news for you about the Python part of this: there is official interest from The Qt Company around PySide. See 48:39 in Lars Knoll's "Project status" keynote at QtCon2016: http://mirror.its.dal.ca/kde-applicationdata/akademy/2016/354_qt_project_status.mp4 http://mirror.its.dal.ca/kde-applicationdata/akademy/2016/35... EDIT: Also, for anyone interested in Qt, the whole talk is worthwhile to get an idea of where Qt is going.
- radix07 10y agoIt would be awesome to have a clean way to develop on Android with Python. Technically it is possible and has been done with Necessitas, but would be awesome if they can get it streamlined into their mobile Qt stuff.
- azeirah 10y agoI'm really hoping they will pick up PySide again. The last update was in 2015 - 1.2.4 (2015-10-14)
- radix07 10y agoLooks like PySide2 is PySide for Qt5. Seems they are putting some effort back into development. https://wiki.qt.io/PySide2 https://wiki.qt.io/PySide2
- pfranz 10y agoI think the VFX industry is rallying that cause. Years ago Autodesk ported many of their 3d packages home-grown UIs to Qt (Maya and Max) I'm sure part of the goal was to reduce their maintenance burden and assist with cross-platform support. They also have Python runtimes that allow GUIs with Qt. They moved from PyQt to PySide a few years ago, too. In addition to Autodesk, The Foundry's Nuke and SideFX's Houdini are in the same camp. I've heard they're (specifically Autodesk is) funding the development and the vendors are all working together and have deadlines in place for their own annual releases. Everyone is using Python 2.7 and have stuck with Qt 4 because Qt 5 hasn't really offered any compelling features for them. I believe the dropping of support for Qt 4 spurred them to push for Qt 5, hence PySide support for it. There are early talks about Python 3, but that's a few years off.
- sevensor 10y agoWhile I think bringing PySide back would be great, I use PyQt from day to day, and it works really well. Commercial PyQt licenses are reasonably priced, and it's dual-licensed GPL if you've got an open-source project or you just want to try something out.
- pfranz 10y agoThat might have changed in 10 years (and the economics might differ for a small place), but when the place I was working was looking at switching from Perl/Tk for internal tools, they went with Python wxWidgets over PyQt4 because of licensing cost even though Qt would have been a better fit. They eventually went with PySide when that got released.
- sdegutis 10y agoMeh. After trying to write real-world programs using bindings like MacRuby and PyObjC and probably others I've long forgotten, I'm convinced it's really not worth it compared to just using the blessed language of whatever platform. In Apple's case ObjC & Swift, in SDL's case C or C++, in Window's case C++ or C#. They're mostly the same for any practical purposes. All the smaller features that distinguish them are either quick & easy to learn, or just generally not worth using (I'm looking at you, Ruby's horrifying monkey-patching system!)
- mixedCase 10y agoWe have very different opinions of C++.
- otsaloma 10y agoPyOtherSide is a very nice option if you want to (or can get by with) using QML for the UI. Since it's a "bridge" instead of bindings, there's no inherent lag or instability ascpect to it. https://thp.io/2011/pyotherside/ https://thp.io/2011/pyotherside/
- zem 10y agoyeah, it's sad how hard it is to make qt bindings. this may be shallow of me but i use c++ at work all day, and i want to use something more fun to program in for my personal projects.
- hellofunk 10y agoI'd like to see a React or FRP approach to the Qt Quick Controls, using C++ (not JS).
- zerr 10y agoI'd like to use Qt Quick Controls with C++ instead of QML/js crap.
- Nokinside 10y agoI think you can. http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcp...
- ronjouch 10y agoI'm personally fine with QML (under the constraints the app I'm working on has to live with), but know that you're not alone. There's a flamewar^W discussion happening right now in the qt-interest mailing list [1] under the name "[Interest] What don't you like about Qt?". Your concern (the lack of a pure-C++ path for QtQuick Controls) is one of the most recurring pain points. Feel free to chime in if you have something to contribute. Qt folks are listening and do answer to well-formed arguments. [1] http://lists.qt-project.org/mailman/listinfo/interest http://lists.qt-project.org/mailman/listinfo/interest
- messutied 10y agoI would love to use Qt for personal for profit projects, but at $79/month (the cheapest commercial option) I find it too expensive, as a independent developer with pet projects that might not generate much (if at all). What other good options do you know for building multi-platform nice-looking desktop UIs, I dont want to go with electron but so far is the best option I see for fast and cheap development, with the tradeoff of 50mb simple apps and not so great performance.
- zerr 10y agoYou can use Qt for commercial projects for free, including mobile platforms. This is not highly advertised, but you can... :)
- ktta 10y agoAFAIK you'll have to have a GPL your code right? If you want to keep the source closed, then you'll have to get a commercial license which costs money. Can you refer me to where you saw that you can use Qt for free with being able to keep your source closed? (you still can monetize open source programs so there's that) Or are you referring to LGPL?
- gcp 10y agoQt is LGPLv3, not only GPL afaik?
- jtuente 10y agoThe licensing has changed a bit over the past year. The biggest difference between the LGPL and GPL versions is that Charts and Data Visualization aren't available under LGPL, and Qt Quick is limited to OpenGL. https://www.qt.io/licensing-comparison/ https://www.qt.io/licensing-comparison/
- zerr 10y agoQt is LGPL (3 ?), so you can use it for closed source proprietary projects assuming that it is possible to re-link your project (with Qt). I.e. you should use Qt as .so/.dll dynamic lib for desktop apps. For Android it is same as I understand. As for iOS - where as I remember you have to build static binary - just providing your .obj files is enough. So it is compiled, not open source.
- Siecje 10y agoI can't wait for TableView and TreeView to start using Qt Quick Controls 2
- zerr 10y agoBtw, your posts are marked as [dead]. You can contact HN stuff I believe, to fix this.
- Longhanks 10y agoThis looks completely out of place on every Desktop, in my opinion, which makes Qt Quick unfortunately not an option for me. Related: Did they stop developing Qt Widgets?
- joezydeco 10y agoEmbedded Widgets developer here and, yeah, Widgets hasn't gotten a lot of attention in a long time. Probably since 4.8. Given that plus the QWS backend change with v5 and the new LGPL terms, I'm probably staying here for a long time to come.
- pfranz 10y agoA few months ago I was at a conference where Qt representatives were saying something to the effect of, "We have completed development on Qt Widgets." They were very clear that there were no current plans to deprecate them. Just that no new development was planned. This was a conference for the VFX industry and the people in the room mainly wrote tools for 3d packages. So we had no interest in QML and just wanted native dialogs and widgets to automate things.
- joshuak 10y agoI'm from the VFX industry. I have a hard time understanding the logic of your last sentence. "just wanted native dialogs and widgets to automate things" is pretty much exactly the benefit of QML in the way I use it for production tools. It's certainly an improvement over multi platform compiling, and onerous build cycles or way out of date python integration. Quick, non-product oriented, tool development would in my mind be faster and easier to deliver to tight production timelines via an easy to edit document in a performance oriented declarative UI language over having to write fully compiled application UIs that are affectively hard coded. QML is a high performance easy to edit 'scene' file that is in effect a game engine level description for GUIs. Am I missing something?
- pfranz 10y agoI didn't mean in any way that QML was a worse solution than what qt4 offers. More that it's not accessible (not shipping along with current 3d software) so it is off the radar for most people. 6 months ago I was at a place where all code had to be compatible with Python 2.6 (we had moved off of Python2.5 only a year or so before). When I've looked at playing with PySide2 using Python2 I see that it's not there yet.[1] I feel like I'm in the minority of people I work with who have even seen Python3, let alone know what features it has. At my current place we don't compile anything. Most of the work I see are forms, running inside 3d software, that are basically arguments for a process...maybe read from a database or your local scene/environment. Designer UI files or hand-written UIs seem to be good enough for most people (it's way better than the alternative scripting UIs used before Qt). It needs to run inside and outside of Maya and other packages, which usually means is compatible with Python 2.6 and 2.7, likely need to support PyQt and PySide, and might need to work in Linux and Windows (ideally following that OS' conventions). Performance isn't a huge concern since loading the data takes way more than drawing the UI. Also, people are really averse to learning a new language. The understanding I had for qt5 was focusing on UI elements for alternate devices like cellphones and touch. While a lot more flexible, in many cases you'd have to reimplement normal UI widgets from lower-level pieces. At the same meeting, the few people familiar with QML were asking about getting a QML Tree View. I'm curious to know more about qt5, but like Python3, it's currently not an option. [1] https://github.com/PySide/pyside2/wiki https://github.com/PySide/pyside2/wiki
- thepumpkin1979 10y agoTo anyone with experience building apps with QT: Would you recommend using it for new apps over Electron? I know the tech stack is different and I'm aware that Electron apps are all memory hogs which is why I wonder whether QT is a good alternative in Desktop or not.
- AnthonBerg 10y agoI haven't noticed our cross-platform desktop app to be anything but nice and lean. I'd recommend Qt not only for desktop GUI work but would also recommend it even a bit more for general cross-platform stuff, i.e. our console apps are Qt as well and it's great.
- trishume 10y agoI certainly would. Qt is fantastic. Not only will your app be faster, but depending on which type of Qt you use (Qt Quick controls 1, Qt Quick Controls 2 or Qt Widgets) it can also look native. I also like the UI and event model better than HTML+JS. Plus you even get a visual GUI builder.
- joshuak 10y agoWhat a lot of people don't seem to realize about Qt Quick (as apposed to using C++/Qt Widgets), is that it's like a game engine. People seem to think its akin to HTML and JS, i.e. 'interpreted' scripting language, but QML is actually more like a game engine language, it loads the assets into high performance GPU and has much better performance characteristics then anything else including the C++ widgets in many cases.
- winter_blue 10y agoI would recommend going with Qt over Electron any day. You'll have an app that's fast, responsive, easily be multi-platform, have the look and feel of a native app on every platform (Windows, macOS, Linux), is light-weight, doesn't hog a lot of memory. You'd also not be trying to twist and bend over backwards to try to use something that was designed to display documents (HTML and DOM) to construct apps (with all the overhead that comes with it), and instead be building atop a framework that was created with desktop applications first and foremost.
- floopidydoopidy 10y agoI've only built front ends in QtCreator and Visual Studio WPF, but after getting over the initial QT way of doing things, I find it delightful. It's C++, though. So it's definitely weird in that uniquely weird C++ way.
- jguegant 10y agoI dream of the inverse of the react native or electron trend. In this world one would write his application using Qt Quick for all the platforms including the web! Using Emscriptem you would be able to compile your C++ code to asm.js or webassembly and make your application run flawlessly in your browser with WebGL, canvas or HTML5 as a backend. Some people already started working on that: https://blog.qt.io/blog/2015/09/25/qt-for-native-client-and-emscripten/ https://blog.qt.io/blog/2015/09/25/qt-for-native-client-and-... Even using React, Redux, flexbox layout and all these fancy frameworks, I still find the web stack a huge hack that tries to bend HTML and CSS to recreate the feeling of an app (like SPAs). QML is simply more expressive for layouts and bindings.
- jordanbaucke 10y agoagreed.
- ComodoHacker 10y agoI hope in that universe everybody won't be downloading a copy of Chromium/Webkit/whatever with every desktop app.
- winter_blue 10y agoThe GP said "I dream of the inverse of the react native or electron trend". That means no Chromium or other bundled web browser with every desktop app. With Qt, you app will be light-weight, blazing fast, and have a native look and feel (as Qt uses native widgets whenever possible).
- aljones 10y agoReact Native doesn't bundle a web browser. It uses native widgets.
- _wmd 10y agoQt already bundles QWebEngine, which is essentially a copy of Chromium
- jordanbaucke 10y agoI'm looking for some references to QT / QML guys to help us along on our project that's very much active. Bonus points if you have multimedia pipeline experience! E-mail: jordan(at)evasyst(dot)com
- oneplane 10y agoBut what about iOS? Or macOS?
- neves 10y agoIs there any sense to have hover style in a mobile interface?
- Ono-Sendai 10y agoI wish Qt devs would fix the bugs in Qt before adding new stuff.
- rossy 10y agoI know Qt Quick Controls 2.x focuses on mobile, but I'm still waiting for it to get a native look-and-feel on the desktop. Qt Widgets is near-perfect if you want native look-and-feel across desktop platforms, but since all the focus is on Qt Quick, the future of Widgets is unclear. Qt Quick Controls 1.x also had native look-and-feel, but (as far as I know) no support for high-dpi on Windows and Linux, making it strictly less useful than Qt Widgets 5.6+, and like Qt Widgets, its future is also unclear.
- happycodework 10y agoChrome style tabs for qt quick pleeease, I think they have proven that ui paradigm is here to stay