Kivy seems well designed and easy to use - not just for multi-touch but general cross platform UI apps, and phone apps. My only concern is that the community seems small and the site a little dated?
Possibly, but I've actually been hunting for a cross-platform, easy-to-build UI kit for Python, and this certainly seems easier than Tk or Qt. So it fits the bill for general cross-platform use ;-)
Kivy: Develop multi-touch enabled Python apps
21–30 of 49 posts
Re: Kivy: Develop multi-touch enabled Python apps
#22Kivy's multiplatform support is impressive. An application I'm working on at the moment runs in X on Ubuntu, on Microsoft Windows and on a Raspberry Pi 3. On the latter Kivy draws the UI using the frame buffer directly, without X. Kivy does have its quirks and oddities. From the top of my head: - Want to set the background color on a widget? Gotta drop into GL-like drawcalls and add a coloured rectangle below your wi…
> Kivy's multiplatform support is impressive. An application I'm working on at the moment runs in X on Ubuntu, on Microsoft Windows and on a Raspberry Pi 3. On the latter Kivy draws the UI using the frame buffer directly, without X. Isn't that the same as with most other multiplatform toolkits? GTK and Qt both support framebuffer rendering, IIRC.
The best I could find was this:
> This current DirectFB GTK+ 3.12 port lacks drag and drop, selection support, cursor shapes, full-screen support, geometry hints, properties, and many other features, but according to the developers maintaining this out-of-tree GTK+ code it's "basically usable" for running modern GTK apps on DirectFB.
Source: https://www.phoronix.com/scan.php?page=news_item&px=MTc2OTE
Re: Kivy: Develop multi-touch enabled Python apps
#23Kivy's multiplatform support is impressive. An application I'm working on at the moment runs in X on Ubuntu, on Microsoft Windows and on a Raspberry Pi 3. On the latter Kivy draws the UI using the frame buffer directly, without X. Kivy does have its quirks and oddities. From the top of my head: - Want to set the background color on a widget? Gotta drop into GL-like drawcalls and add a coloured rectangle below your wi…
> Kivy's multiplatform support is impressive. An application I'm working on at the moment runs in X on Ubuntu, on Microsoft Windows and on a Raspberry Pi 3. On the latter Kivy draws the UI using the frame buffer directly, without X. Isn't that the same as with most other multiplatform toolkits? GTK and Qt both support framebuffer rendering, IIRC.
Re: Kivy: Develop multi-touch enabled Python apps
#24Kivy's multiplatform support is impressive. An application I'm working on at the moment runs in X on Ubuntu, on Microsoft Windows and on a Raspberry Pi 3. On the latter Kivy draws the UI using the frame buffer directly, without X. Kivy does have its quirks and oddities. From the top of my head: - Want to set the background color on a widget? Gotta drop into GL-like drawcalls and add a coloured rectangle below your wi…
i started on my desktop and simply loved it. later, i checked out my repo from my chromebook with crouton/trusty ubuntu...
it only draws a transperent rectangle there
Re: Kivy: Develop multi-touch enabled Python apps
#25Earlier quoted context omitted.
Possibly, but I've actually been hunting for a cross-platform, easy-to-build UI kit for Python, and this certainly seems easier than Tk or Qt. So it fits the bill for general cross-platform use ;-)
It seems like about once a year I'll get the craving to build Python desktop GUIs, and so far I've never been able to get PyQt installed on my Mac.
I've never had any issue installing PyQt (or PySide) whatsoever, though I usually use Conda [1] with the Anaconda Python distribution, rather than the system default (which you shouldn't use, IIRC) or the official one from Python.org.
The easiest way to get started is probably with the Miniconda [2] Python distribution.
I'm not sure if Conda pulls down Qt, though, or if you have to install that yourself (e.g. via Homebrew).
[1]: https://github.com/conda/conda [2]: http://conda.pydata.org/miniconda.html
Re: Kivy: Develop multi-touch enabled Python apps
#26Kivy seems well designed and easy to use - not just for multi-touch but general cross platform UI apps, and phone apps. My only concern is that the community seems small and the site a little dated?
Possibly, but I've actually been hunting for a cross-platform, easy-to-build UI kit for Python, and this certainly seems easier than Tk or Qt. So it fits the bill for general cross-platform use ;-)
This will also let you use the given platform's native interface widgets.
Re: Kivy: Develop multi-touch enabled Python apps
#27However: Why would one want to use Kivy for desktop interfaces (as I see many comments mention), rather than native (e.g. Qt) or at least close to native UI-frameworks?
I think Kivy looks great for prototyping, experimental interfaces, and such, but I don't see why I would use it over something that lets me use native interface widgets.
Re: Kivy: Develop multi-touch enabled Python apps
#28I do a lot of programming in Python, and found Kivy to be easy to use and thought it was pretty cool when I tried it out a while ago. However: Why would one want to use Kivy for desktop interfaces (as I see many comments mention), rather than native (e.g. Qt) or at least close to native UI-frameworks? I think Kivy looks great for prototyping, experimental interfaces, and such, but I don't see why I would use it over…
* I was making "universal" app for mobile and desktop.
* The app was intended for a Kiosk computer with touch screen.
* I was concerned about Qt licensing.Re: Kivy: Develop multi-touch enabled Python apps
#29I do a lot of programming in Python, and found Kivy to be easy to use and thought it was pretty cool when I tried it out a while ago. However: Why would one want to use Kivy for desktop interfaces (as I see many comments mention), rather than native (e.g. Qt) or at least close to native UI-frameworks? I think Kivy looks great for prototyping, experimental interfaces, and such, but I don't see why I would use it over…
I would use it if: * I was making "universal" app for mobile and desktop. * The app was intended for a Kiosk computer with touch screen. * I was concerned about Qt licensing.
I may not have conveyed it properly, but I was mainly concerned with traditional desktop applications.
Regarding Qt licensing concerns: couldn't you just use PySide instead?
Edit: Sorry, was mixing up Qt and PyQt. Qt itself is dual-licensed (commercial/LGPL).
Re: Kivy: Develop multi-touch enabled Python apps
#30Can anyone comment on specifically how Kivy is better than the other options available (e.g., QT?). How have other peoples' experiences been? Some comments say small community, but that seems like it could be a large drawback honestly. Does that mean, for example, there are few(er) stack overflow posts about it, and you are likely to run into some painful issues along the way? How well does it integrate with matplotl…
Kivy is great, fun to use, but it suffers for the same thing that many python applications do: package management is a pain, packing is difficult (especially dependencies with c libraries), applications are slow, there are no threads (any action locks the UI), the bridge to native code is quite troublesome (especially on IOS), it uses a custom DSL for UI layout and the 'non native' widgets can be clunky.
Don't get me wrong; it's a fun platform, but really have a good play with it before you decide to use it for anything serious, especially for mobile targets.
(QT isn't perfect either; but its a rock solid platform for building real applications in. Ultimately though, you should really suck it up and write native UI for each platform and only share underlying application logic; if you don't you're just going down the road of various different levels of clunkiness on every platform).