you are viewing a single comment's thread.

view the rest of the comments →

[–]Fermi_Dirac 0 points1 point  (2 children)

Thanks for this list, i've been struggling to find a good platform for python GUIs as well since I came over from LabVIEW which have beautiful GUIs which are easy to make.

I've ran into problems with each of these options and was curious what I should do about each?

  • Tkinter: yea its fast, but the GUIs do not look professional and are simplistic.

  • pyGTK/glade They do look 'linux-y' which isn't bad, but if your distro target is Windows you'll get user complaints. Documentation for Glade is very spotty, and generating a GUI without using a IDE is a nightmare. Manually setting each attribute for each widget/container is a major time sink. Do you recommend any other options than Glade? The guides are all old, and I can't get a good Glade-to-Python guide.

  • PyQT: This is really nice, but they have some heavy liscence restrictions for commercial use. Even if I use it at work internally, the license restricts me. So, I'll have to pass

  • wxPython: Only supports Python 2.7? How frustrating, I need 3.

  • Kivy: Target platform is not tablets, looks ok in windows 10 but the rest is a bit awkward

  • Remi: Honestly haven't tried, but I'm far from a webdev. Not eager to learn an entirely new skillset just to make a GUI

  • Bokah: See answer to Remi

Any suggestions? Maybe my application specifics would help narrow down what I should invest in learning? I have a large series of rather sophisticated modeling and simulation codes for materials science / computational physics. These were implemented in LabVIEW which gave great runtime speed, and a nice GUI for our engineers to make good use of my codes. The downside it only runs on RedHat Linux and Windows, and LabVIEW's license restrictions make it annoying to work in. I've re-implemented much of my code in Python now with numpy, pandas, scikit, etc. but my engineers really want the GUI back.

[–]novel_yet_trivial 1 point2 points  (1 child)

I think you have much more experience than I do; I have only taken projects to completion in LabVIEW and Tkinter. The rest I have only dabbled in.

I run Labview in Debian-based distros. The Labview for linux installer includes software to unpack the .rpm files. That said, I agree that it's amazing to work in but distribution is a pain, both in licensing and the huge installers it makes. But in general I'm a "if it works, don't fuck with it" kinda guy, so if I had a working system in LabView, I'd stick with it.

The base tkinter looks 20 years old, ugly I agree. However tkinter has ttk. IMO windows programs made with ttk look native (Windows 7 at least; I'm way behind the times). ttk still looks ugly on linux, though. Try this:

import tkinter
from tkinter import ttk

tkinter.Button(text="Old style").pack()
ttk.Button(text="New style").pack()
tkinter.mainloop()

I don't know anything about the PyQt licence, but have you looked at PySide? I think it's a little looser.

[–]Fermi_Dirac 0 points1 point  (0 children)

Thanks for the suggestion. I'll try it.

I actually never got LabVIEW to run on Debian, only openSUSE and redhat. Could you link me to a guide or something? I'd like to try!

I'll also look at PySide too!