Link to home
Start Free TrialLog in
Avatar of ugeb
ugebFlag for United States of America

asked on

writing windows GUI programs in Python?

Hi,

I did some searching, but couldn't find anything appropriate.

Are there any Python GUI libraries/utils for Windows that would allow me to create windows programs using Python?  I'd like to use Python instead of Java or C++, but still have forms, text boxes etc.

Thanks!
ASKER CERTIFIED SOLUTION
Avatar of pepr
pepr

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I will always wonder why someone would really want to program in Python in Windows, when you can program, for free if you want, in VB or C#, 2 good languages that were developed first for the Windows GUI, for which there is the most complete GUI framework available, and a powerful free development environment called Visual Studio Express Edition.

Maybe Python is the only language you feel comfortable with. But you will never be able to spend your life in only one language, so why not try something else that might be more appropriate for your current needs.
Avatar of ugeb

ASKER

I know over a dozen languages (including assembly) and have advanced degrees, one in computer science, so you really shouldn't judge based on what little information I gave here.  You don't know what I'm working with.  You don't know my constraints.  You don't know my goals.  So why say anything if it doesn't answer my question?  You just assume I'm an ignorant novice? Maybe you didn't intend to insult me, but in effect that's what you did by both the tone and content of your message.

I've used C++ extensively and have spent enough time in VB.  VB is cumbersome and weak.  I don't want to use C++.  I want to use Python.  I need to use Python. I like Python. I have specific needs and goals in mind, and that's why I'm asking about Python.
I am sorry if I insulted you, it was not my intention. English is not my main language, so I may not control my tone as well as I would.

Saying that VB is weak means that you still think of the classic VB, that is far from the modern VB.NET. And I did limit my comment to VB, I also talked of C#, which is as close as C++ as can be, without the pointers.

The way most of us program Windows GUI applications today is with the .NET framework. And in .NET, no matter what language you use, it does not matter. It's the framework that works. Whether you program in VB.NET, COBOL.NET, Fortran.NET or C#, all a language does is declare variables, methods, loops and conditions. Saying "I Love You" or "Je t'aime" or "Te amo" is the same. Declaring a variable in any language gives the same result under the hood. Whether it<s (value) or [value] is the same. An Integer and an int are the same. There is just a difference in tone.

You can use Python.NET, and you will have almost the same power as the programmer who uses VB.NET or C#. Except that the peoples who created these last two are also the peoples who created the GUI you want to address, and the operating system on which it works. They have a knowledge of the GUI and the OS that nobody else has. And they can thus provide you with tools that are usually better for controlling the Windows GUI.

The only difference is that Python is a scripting language and the other ones are compiled. And I cannot understand why one would want to used a scripting language with a GUI application.

That is what I meant by my post. I hope that I explain it more clearly this time. And once again, English is not my main language, I am sorry if it did not go through properly.
Avatar of ugeb

ASKER

I will definitely check out these solutions, thanks!

@James, thank you for clarifying.
Avatar of pepr
pepr

@JamesBurger: It seems you are MS Windows oriented. However, you should know there also are UNIX based systems (used also by the Mac these days). From that point of view, users do not care what language was used to create the application. And the application is prefered by some of them when it is written as a cross-platform one. (And really, you cannot compare C++ with C# even though the syntax looks similar and they are both from C-family languages.)

@ugeb: From the cross-platform point of view, the wxWidgets use native controls from the OS. The application simply looks "more usual" for the user.
C++ and C# are different in the fact that C++ supports pointers and uses functions from the C standard, while C# uses the Framework libraries. But other than that, for a C++ programmer who is using C++ for its OO features instead of just using it as if it was C, The switch to C# is quite easy.

And C# as well as the .NET Framework are portable between platforms. Give a look at the Mono Project.

Since your original question was stated "create windows programs", it seems that Windows is your first aim. C# enables you to create something that is optimized for Windows, but will also work on the Mac and UNIX.