8 ms·
Qt for Python available at PyPi
- wiz21c 8y agoYes ! Super good work, long awaited ! In these times of web stuff, it's really nice to work with a framework that is absolutely stable. (well, except Qt5 is quite a change :-))
- fredley 8y agoThis is great, but I do wonder if the lifespan of Qt and other frontend frameworks is somewhat limited. UI development seems to be converging more and more on the web stack (HTML/CSS/Javascript)
- TomMarius 8y agoWith WebAssembly and other recent developments, I think that the opposite is going to happen in the future. We are (hopefully) going to have native (online) apps.
- vetinari 8y agoWhat makes you think so? WebAssembly is about making it possible to compile from any language into subset of javascript (which is well JIT-table), it doesn't say nothing about neither which layout/gfx engine the apps will use, nor about any ISA. Many want the bindings to DOM, actually.
- solarkraft 8y agoWebAssembly will make it simpler to port non-DOM UI libraries to the web, which probably some people will use - though the DOM based UI libraries are already quite strong.
- pjmlp 8y agoWebAssembly + Canvas/WebGL. http://blog.qt.io/blog/2018/05/22/qt-for-webassembly-examples/ http://blog.qt.io/blog/2018/05/22/qt-for-webassembly-example... http://platform.uno/Playground/index.html http://platform.uno/Playground/index.html
- bpicolo 8y agoWould a less-specialized rendering engine not be even less performant if trying to make web-app like things?
- pjmlp 8y agoWhat web-app like? If browser vendors don't change course in regards to WebAssembly's roadmap, Flash and Applets are back, just give it one more year to mature the eco-system.
- bpicolo 8y agoSeems unlikely. Developers are already using the DOM model outside of the browser entirely a'la Electron because in modern times it's such a productive and accessible development environment. I can't imagine we'd try to bring back the pain of Flash. What we have now is drastically more portable and a delight to use compared to that era.
- TomMarius 8y agoInstead of bindings to DOM, you can offer bindings to native API - Webassembly makes it safe. Another approach is running your app on webgl. WASM is not a subset of JavaScript at all, it has similar modularization, but that's about it.
- chaz6 8y agoI hope you are right; I see WebAssembly (or a potential successor) to be the missing gap in the ecosystem, which Java (as well as some previous small attempts) attempted to be. Since javascript (or ecmascript for the purists) now runs server-side (e.g. node.js), there's no reason wasm could not run everywhere.
- kbutler 8y agoI am also interested in this, but I'm concerned about the accessibility aspects. Native Qt can be accessible. Web apps can be accessible. Can Native Qt on web assembly be accessible? How would that work cross-platform?
- TomMarius 8y agoThere are 3 approaches: - Web apps (using DOM like usual) - Native Qt and a WASM runtime that has bindings directly to the native library (basically PyQt, but WASM instead of Python) - Qt apps in canvas (webgl) The first two are definitely accessible (by default or very easily). The last one not so much, but it's still possible, and project like Qt should have enough resources to pull it off. The second approach should be the most performant.
- etaioinshrdlu 8y agoJust curious how this is different from PyQt. Used to use PyQt on a bunch of projects. It was a fairly decent framework. Not bad for native-looking UIs.
- Longhanks 8y agoFor open source projects, it is available under LGLP, which is less restrictive than PyQt's GPL. It's also available under the commerical license, too, so customers don't have to purchase from the Qt Company AND PyQt.
- montalbano 8y agoI was just trying to figure out why Qt might have chosen to actively support PySide rather than PyQt, I guess that licensing might be the answer. I wonder what implications this might have for PyQt?
- seba_dos1 8y agoPyQt refusing to license under LGPL is basically the reason for PySide to exist.
- cup-of-tea 8y ago> For open source projects, it is available under LGLP And how does this make the slightest difference for open source projects?
- jhasse 8y agoThey can chose any open-source license. With PyQT being under GPL you're force to use the GPL, too (you can always dual-license though).
- cup-of-tea 8y ago> you can always dual-license though Exactly. So no practical difference. Just a religious one.
- mherrmann 8y agoFor people interested in an example of a Qt app, check out (my) cross-platform file manager https://fman.io https://fman.io. It currently uses PyQt. I hope Qt for Python will become stable enough so I can make the switch. Developing cross-platform desktop apps is hard. To help with this, I open sourced my build system [1]. It lets you release (Py)Qt apps in minutes instead of months. It aims to make (Py)Qt a more viable alternative to Electron. It already has preliminary support for Qt for Python, and I want to expand it in the future. [1]: https://build-system.fman.io https://build-system.fman.io
- oblio 8y agoI've been following your project for a while and I wish you good luck. I like what I'm seeing and I hope it succeeds! :)
- mherrmann 8y agoThank you :-)
- chaz6 8y agoWhat issues have you experienced with PySide2 so far that is preventing the switch?
- mherrmann 8y agoTo be honest, I'm holding back with switching until Qt for Python is more mature. My app is installed on tens of thousands of machines and I don't dare risk breaking it yet.
- donquichotte 8y agoI just tried fman and it is quite impressive. Fast af and clearly (?) inspiered by Sublime Text. Beautiful!
- mherrmann 8y agoThanks! Yes, my goal is to bring innovation from ST to the file manager niche. Besides the UI, Cmd/Ctrl+P for jumping to folders and a similar Command Palette, this shows in the Python-based plugin API [1]. [1]: https://fman.io/docs/api https://fman.io/docs/api
- fermigier 8y agoPlease add a project description on your PyPI entry :) https://pypi.org/project/PySide2/#description https://pypi.org/project/PySide2/#description (currently empty)
- cogs 8y agoI can't find any mention of commercial license pricing anywhere, can anyone enlighten me? Because python links dynamically, I believe it's possible to use python Qt bindings commercially without a commercial Qt license. Does pyside2 support this?
- int_19h 8y agoThis is PySide, which is LGPL - so you shouldn't have any trouble using it commercially.
- jhasse 8y agoNote that you can use the GPL commercially, too. It matters only if you want to license under anything non-GPL (which admittedly most commercial projects do).
- Nokinside 8y agoDynamic vs static linking makes no difference for commercial use (common misconception). If you link statically to LGPL libraries from commercial software you must provide object files (or provide link to where anyone can get them). Just as easy as providing dynamically linked library.
- AJRF 8y agoI just started developing a Python app with a GUI and the faff around getting in running on other developer machines was crazy! "Install PyQT and QT Framework, no not that version, no not that one? Your on Fedora? Oh okay, add this rpm repo, no the developer version" The ability to install it through Pipenv should make this easier, right?
- pletnes 8y agoAnaconda python contains both pyqt and qt. That’s what we use. Pip contains just the python bits, not the Qt bits - at least this is true for PyQt.
- solarkraft 8y agoTrying to have a look at (BUILT INTO QT CREATOR) QML examples was pretty much this experience, but worse. I try to like Qt, but this cost a bunch of confidence.
- de_watcher 8y ago> I try to like Qt, but this cost a bunch of confidence. That's what you get from users when you try to be nice and don't invent your own package manager.
- girvo 8y agoSure, but the signal from nearly every other camp at this point is that package management (especially for combined native dependencies and scripting deps) isn’t a solved problem. Do I wish everyone used their distro package manager? Yes. Do I wish there was one package manager? Yes. Do I develop with Nix myself? You bet. But I fear that this sort of quixotic battle has already been lost; frankly I don’t blame people for finding it a confusing mess. Unless I misunderstood your comment, in which case I apologise!
- solarkraft 8y agoThe trend goes pretty clearly towards a package manager per platform (programming language). This does become hairy when you try to inter-operate, but for development, at least, it seems to work quite well.
- blattimwind 8y agoOf interest: Since ~two years or so you can actually pip install PyQt on major systems, since they made wheels available. Note how PySide2 is wheel-only on pypi as well.
- blattimwind 8y agoNowadays there is also Qt.py, "API-selector-as-a-package": https://github.com/mottosso/Qt.py https://github.com/mottosso/Qt.py
- kbumsik 8y agoThe whole package is 166.4 MB for Linux (PyQt5 is 117.9 MB ). This is even much bigger than Electron's base bundle size. This matters much for Linux devs who want put everything into a single package (e.g. AppImage) to avoid dependency problems in each Linux distros. I hope Qt would divide Pyside 2 into components (for example, QML) so that devs can easily optimize their package size.