Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Python have a cross-platform GUI toolkit that uses native widgets?

Python has many GUI toolkits. If I understand correctly, these toolkits typically take on the responsibility of rendering their own widgets (rather than relying on the operating system). This achieves cross-platform support at the cost of having widgets that don't necessarily look, feel and behave exactly like their native counterparts. Does Python have a GUI toolkit that is cross-platform and takes advantage of each system's native widgets?

According to GUI Programming in Python, there are at least two candidates:

Lucid

Unfortunately, this library seems to have disappeared. It's link now redirects to Icy Labs, a company that "designs and distributes components and devices for electronics and robotics development" (???).

PySWT

This is a port of the SWT library for Java (which I am already familiar with). This library doesn't feel like Python (for example, it retains the set* and get* methods that are common in Java). Therefore, I am curious to know if there is a more authoritative library that meets my needs.

like image 598
Adam Paynter Avatar asked Sep 15 '10 14:09

Adam Paynter


3 Answers

Is wxWidgets an option? As far as I know, it integrates with whatever the OS has to offer - win32 on windows, gtk on Linux and, I think, Aqua on OSX.

like image 168
Ivo van der Wijk Avatar answered Nov 14 '22 22:11

Ivo van der Wijk


What about Qt?

And it's attendant wrapper, PyQt? http://en.wikipedia.org/wiki/PyQt

Qt for the most part looks native. I don't think you'll ever find a cross-platform toolkit that is uses native widgets exclusively and still be cross-platform. Those goals are to some extent mutually exclusive.

like image 21
Gilead Avatar answered Nov 14 '22 23:11

Gilead


pyside LGPL bindings for qt. Note there is also PyQt which is GPL or paid for closed source use.

like image 39
stonemetal Avatar answered Nov 14 '22 23:11

stonemetal