Examples of modern GUI python programms

D

D. Xenakis

Id like to ask.. do you know any modern looking GUI examples of windows software written in python? Something like this maybe: http://techreport.com/r..x/asus-x79deluxe/software-oc.jpg (or hopefully something like this androidlook: http://chromloop.com/wp-content/uploads/2013/07/Skype-4.0-Android-screenshot.jpg).
What i need is to develop an android looking program (entirelly in python) for windows, but dunno if this is possible (most propably is), and which tool between those would help me most: tkinter - wxpython - pyqt - pygtk .

Any examples and suggestions are most welcome.
 
M

Michael Torrie

What i need is to develop an android looking program (entirelly in
python) for windows, but dunno if this is possible (most propably
is), and which tool between those would help me most: tkinter -
wxpython - pyqt - pygtk .

Any examples and suggestions are most welcome.

Your best bet is to use PyQt. I bet you can make some android-looking
UIs using QtQuick (Javascript) with a bit of Python glue.
 
M

Metallicow

Your best bet is to use PyQt. I bet you can make some android-looking
UIs using QtQuick (Javascript) with a bit of Python glue.

Well, I wouldn't exactly say that Qt is the way to go just yet...
The author needs to weigh the benefits of each toolkit and make a decision for themselves.

As far as Qt is concerned, it is a bit more geared towards mobile apps at this point in its python life.
It is a bit nicer with the animated stuff also.
wxPython on the other hand has way better community support than QT side and has been around longer, so that may be a consideration.
Tk is alright and bundled with python but requires more work than the others and isn't always native looking without a bit of extra work.

Overall if you are fine with using a GUI builder for the GUI framework, then QT has a nice put-it-all-together IDE.
If you are looking for a really customized(hand-tweakable) GUI with relative hassle, then I would recommend wxPython or if you know Tk this would be ok for the majority of stuff, but requires a bit more work.

Another thing to consider is that if you are actually wanting this to work on a android or mobile device QT would be a better choice. Especially if touch support is an option.
If you are only wanting it to look like android themed app, the other choices provide better long term benefits.

As far as pygtk, that fairs better with linux, and in my opinion could use some updates platform-wise rounding the bugs out overall.

My opinion would be wxPython if not actually using for a mobile, or PySide if you are. Both of these have acceptable licenses if you want to go commercial also without having to pay for commercial library usage.
 
S

Sturla Molden

Metallicow said:
My opinion would be wxPython if not actually using for a mobile, or
PySide if you are. Both of these have acceptable licenses if you want to
go commercial also without having to pay for commercial library usage.


If you are to distribute a program using LGPL software on AppStore or
Gopgle Play, then remember that the user must be allowed to relink the
program with anpther version of the library. That is an LGPL requirement. I
don't see how this requirement can be satisfied in this case. Thus, LGPL on
AppStore or Google Play is probably put of the question. At least on iOS,
the user cannot change what you put in an App bundle. This excludes
wxPython and PySide. Thus, the only viable cross-platform choices are
commercial PyQt + commercial Qt or tkinter. In case of iOS, PyObjC is also
an option. py2app will also be useful for creating App bundles on iOS.

Sturla
 
J

Jonathan Harden

.... Snip ...
What i need is to develop an android looking program (entirelly in
python) for windows, but dunno if this is possible (most propably is), and
which tool between those would help me most: tkinter - wxpython - pyqt -
pygtk .
Any examples and suggestions are most welcome.

While I've not used it much Kivy could be useful if you want it to look
Android like, with the added benefit that you can build for android as well.
 
M

Metallicow

If you are to distribute a program using LGPL software on AppStore or
Gopgle Play, then remember that the user must be allowed to relink the
program with anpther version of the library. That is an LGPL requirement.I
don't see how this requirement can be satisfied in this case. Thus, LGPL on
AppStore or Google Play is probably put of the question. At least on iOS,
the user cannot change what you put in an App bundle. This excludes
wxPython and PySide. Thus, the only viable cross-platform choices are
commercial PyQt + commercial Qt or tkinter. In case of iOS, PyObjC is also
an option. py2app will also be useful for creating App bundles on iOS.

Sturla

The OP didn't exactly detail what exactly was being looked for just
"python on windows" basically. So that part still hasn't been answered...
As far as wxPython, that is not LGPL, it is wxPython/wxWidgets which is fine for licensing your compiled app as however you want.
Modifications to the library stuff for example is good in the fact with this that most all improvements(to the library-stuff) eventually work their way back in or have to be released GPL v2.

One would have to tool through the PySide agreement for their specifics, but as I recall it is exactly the same as Qt is, which makes sense. Riverbank/PyQt is not Qt, they are a separate entity, just to make that clear. The reason PySide was made was because Riverbank didn't want to license their bindings that same as Qt basically.

A lot depends on what you intend to do with "the" app and how many hoops you are willing to jump through license wise.

Just because a library is LGPL doesn't mean the authors code has to be depending on the circumstances. That just means usually you have to be able to provide the library code(and your mods to it) used.
If the author doesn't care about releasing his/her own source code, then just about any toolkit would be at the same level of "python on windows" for the most part.

It all depends on what the target for the app is. "Windows desktop?", "Windows Phone?", "MSW XBox?", etc...
 
S

Sturla Molden

Metallicow said:
One would have to tool through the PySide agreement for their specifics,
but as I recall it is exactly the same as Qt is, which makes sense.

According to their web page, PySide is only LGPL. Qt is LGPL or commercial.

Just because a library is LGPL doesn't mean the authors code has to be
depending on the circumstances. That just means usually you have to be
able to provide the library code(and your mods to it) used.

No, that would be MPL (Mozilla Public License). Many believe LGPL implies
the same freedom as MPL. It does not.

LGPL also means you also have to give the user a means to "relink the
program with a different version of the library". That is a less known
restriction of LGPL. Usually this is done by providing the LGPL library as
a DLL. But a DLL is actually not sufficient, in case a different version of
the library breaks the application binary interface (ABI). In case of ABI
breakage, LGPL means the user be given access to the program source code to
recompile and relink the program.

Because of the closed nature of app bundles on iOS, the user cannot do
anything with an .so or .dylib file. Thus, the DLL solution to LGPL
infestation is not possible on iOS, even if it were sufficient.

MPL is basically a version og LGPL that has removed the requirement to make
relinkage possible. That is e.g. why a library like Eigen is released as
MPL instead of LGPL.


Sturla
 
M

Metallicow

According to their web page, PySide is only LGPL. Qt is LGPL or commercial.


"""
Licensing

PySide has been published as a response to the lack of suitably licensed Qtbindings for Python. PySide is licensed under the LGPL version 2.1 license, allowing both Free/Open source software and proprietary software development.
"""

Read the legal definition of/and proprietary, then go consult a lawyer. That is caught as an exception/addition to the LGPL in the wording.
I don't think anyone pressing the issue would get very far at all, unless there is a real good reason your own non-library source should be disclosed.Are there any legal precedents yet?.... If you didn't pay for it, or don'thave a class action suit, or is of national security, then good luck.

So, yes, PySide is acceptable also in certain situations you don't have to disclose own source. May need to consult with Qt personally on the matter if a Qt license is actually needed for your particular project, but in plainlegal wording of the LGPL/Qts/PySides agreements, no, it is not but there are a few rules that have been layed out you will need to follow if you don't have a Qt license.

Anywho, here is some infos detailing a bit more commonly asked situations on their forums regarding PySide.
http://qt-project.org/wiki/About-PySide
http://qt-project.org/forums/viewthread/34770

If you do have a Qt license, then the rules change a bit more in your favorat levels of what you can ignore, that others can't legally.
A couple of our team members has a license to cover the stuff we do, so I don't worry about it much. The majority of it is open anyway, but pity thosewho expect everything for free. *I can hear it now* boo hoo pdf format is finally "free and open" after all these years of adobe's money*grubbin*making. geez...
Lesson is: Any software/hardware dev should be familiar with the licensing terms of the toolkits they intend to use. There are always hoops to jump through for "Free-Types". Everyone needs to eat also, because as of this writing "Money" has yet to be abolished in this needy world of ours. And also it seems to fuel development in certain cases also.


I often find the writings on the GPL pages about stuff related similarly tosound like a Richard being a crybaby at times, even tho I do respect him for his views he tries to emboss on everyone to create a "not-exactly-freeier-but-just-more-open" overall software society. If everyone had a flat wallet, then this idea would work out nicely.
If I ever write a printer driver, I will make sure I license it GPL and personally send him a copy to inspect, believe me. Maybe when the next raspberry pi revision comes out he'll send 1000's of them out for free also to hissupporters and developers also, but I somehow doubt it.
http://www.gnu.org/philosophy/proprietary.html

Anyhow, this should hopefully be enough infos for the OP to get a general idea of what toolkit would be needed for whatever project is in mind.
As I say ",If not satisfied, contact sales. They are always reassuring to sound the least."
 
D

David Hutto

Caveat emptor(I have a copy of Latin For Idiots).

When you get through with refining, in whatever language, the open
source/proprietary app you're developing, is there anyway you can say for
sure how many people's work went into things under different licenses
accompanying what you may have copy and pasted into it, and neither can the
individuals who developed the systems they "designed", and threw a license
on it?

*Standing on the shoulder's of giants can still be unsteady ground.*
 
C

CM

Id like to ask.. do you know any modern looking GUI examples of windows software written in python? Something like this maybe: http://techreport.com/r.x/asus-x79deluxe/software-oc.jpg (or hopefully something like this android look: http://chromloop.com/wp-content/uploads/2013/07/Skype-4.0-Android-screenshot.jpg).

What i need is to develop an android looking program (entirelly in python) for windows, but dunno if this is possible (most propably is), and which tool between those would help me most: tkinter - wxpython - pyqt - pygtk .

I just know wxPython, so I'll discuss that. I'm pretty sure you could achieve either of those with wxPython, but it isn't really set up to look like that ("modern looking" in your words) by default. wxPython is set up to look *native* for each platform it runs on. On WinXP, for example, toolbars and buttons generally have "system gray" backgrounds, but some widgets can bechanged, some can't. There are custom widgets that are more flexible though are not native.

You could cleverly simulate these sorts of looks with creative use of library-included custom widgets, a few of your own custom widgets possibly, black backgrounds, drawing on a DC directly to the screen, image backgrounds, and a few other things (basically creating your own "skin"). The harder one is probably the first one you linked--the other, Skype on Android, is mostly just big fluffy images. Probably the first 90% of that is pretty easy andthe last 10% might be somewhat difficult, but not too bad.

It would be fun to try.
 
W

Wolfgang Keller

Id like to ask.. do you know any modern looking GUI examples of
windows software written in python? Something like this maybe:
http://techreport.com/r.x/asus-x79deluxe/software-oc.jpg (or
hopefully something like this android look:
http://chromloop.com/wp-content/uploads/2013/07/Skype-4.0-Android-screenshot.jpg).

These are textbook examples of totally anti-ergonomic gadgetcrap for
gamekiddies.

Judging from the example screenshots on their website, Kivy might be
adequate.

Sincerely,

Wolfgang
 
S

Sturla Molden

Wolfgang Keller said:
Judging from the example screenshots on their website, Kivy might be
adequate.

Kivy depends on PyGame which is GPL, and can only be used to build GPL
software.
 
S

Sturla Molden

Judging from the example screenshots on their website, Kivy might be
adequate.

If you want to build something from scratch, libSDL is excellent and free
(zlib license). Official supported platforms are:

Windows XP/Vista/7/8
Mac OS X 10.5+
Linux 2.6+
iOS 5.1.1+
Android 2.3.3+

libSDL can be used from Python using ctypes or Cython.

There is no GUI, but you can draw whatever you like.


Sturla
 
R

Robert Kern

Kivy depends on PyGame which is GPL, and can only be used to build GPL
software.

It is not.

http://www.pygame.org/LGPL

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 
C

Chris Angelico

Actually, PyGame is LGPL: http://www.pygame.org/LGPL (it's also what their
source files say, although I noted that in their homepage the link which
points to http://www.pygame.org/LGPL *wrongly* says GPL when the actual link
goes to LGPL and the sources say LGPL).

Where? I can't see it. The home page redirects me to /news.html which
doesn't say anything about GPL (other than in its collection of tags,
which seem to be for finding other people's projects - that is,
clicking that link takes you to a list of all pygame-using projects
that are GPL'd); on the Documentation page, the license is clearly
LGPL.

ChrisA
 
S

Sturla Molden

Chris Angelico said:
Where? I can't see it. The home page redirects me to /news.html which
doesn't say anything about GPL (other than in its collection of tags,
which seem to be for finding other people's projects - that is,
clicking that link takes you to a list of all pygame-using projects
that are GPL'd); on the Documentation page, the license is clearly
LGPL.

http://www.pygame.org/wiki/about

"Pygame is free. Released under the GPL License, you can create open
source, free, freeware, shareware, and commercial games with it. See the
licence for full details."

But as pointed out, it seems to be a typo.

Sturla
 
C

Chris Angelico

http://www.pygame.org/wiki/about

"Pygame is free. Released under the GPL License, you can create open
source, free, freeware, shareware, and commercial games with it. See the
licence for full details."

But as pointed out, it seems to be a typo.

Ah yes, I see. That should probably be raised as a bug.

ChrisA
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top