How do I make Windows Application with Python ?

B

BOOGIEMAN

Well that's it, how do I make Windows Application with Python ???
Is there simple way that works 100% ? How can I rework visual design
done in VS 2003 to use it for my python program ?
 
J

Jarek Zgoda

BOOGIEMAN said:
Well that's it, how do I make Windows Application with Python ???
Is there simple way that works 100% ? How can I rework visual design
done in VS 2003 to use it for my python program ?

Close your eyes, see this model-view-controller in your application,
rewrite it in Python using one of its MVC frameworks.

You see? It's easy, like that!
 
P

Peter Hansen

BOOGIEMAN said:
Well that's it, how do I make Windows Application with Python ???
Is there simple way that works 100% ? How can I rework visual design
done in VS 2003 to use it for my python program ?

What do you mean by "Windows Applications"? I'm running
Python on Windows XP, so every program I write with
Python is a "Windows application" by my definition. Obviously
you are using a different one.

(And if you just mean "it has a GUI", then my answer is
"I use wxPython with Python". There is also Tkinter, and
other options. Please ask a more specific, detailed question
to get useful answers.)

-Peter
 
B

BOOGIEMAN

Close your eyes, see this model-view-controller in your application,
rewrite it in Python using one of its MVC frameworks.

You see? It's easy, like that!

Yes, only if I'd know what you're talking about :(
 
B

BOOGIEMAN

What do you mean by "Windows Applications"? I'm running
Python on Windows XP, so every program I write with
Python is a "Windows application" by my definition. Obviously
you are using a different one.

(And if you just mean "it has a GUI", then my answer is
"I use wxPython with Python". There is also Tkinter, and
other options. Please ask a more specific, detailed question
to get useful answers.)

Well, I programmed a little in MS Visual Studio 2003, and there you have
Console apllication and Windows application (among others). Windows one is
with buttons and other gadgets. So, I want to make applications that
doesn't open console to display result, I want to display it into the
message box. Also, I want to use that application on the computers where
Python isn't installed
 
P

Pato Olivares

BOOGIEMAN said:
Well, I programmed a little in MS Visual Studio 2003, and there you have
Console apllication and Windows application (among others). Windows one is
with buttons and other gadgets. So, I want to make applications that
doesn't open console to display result, I want to display it into the
message box. Also, I want to use that application on the computers where
Python isn't installed

Well, in Python you can code "Windows Applications":
see WxPython, AnyGUI, PyGTK, etc.

There'is at least one RAD if you don't want to code the gui yourself
(Boa Constructor).

See http://www.python.org/cgi-bin/moinmoin/GuiProgramming.

And about using your applications where Python is not installed,
look at http://www.python.org/moin/Py2Exe
 
C

Christopher De Vries

There are several GUI toolkits for python. Tkinter comes with python,
but wxPython, a binding to wxWindows is popular, as is pyQT, and pyGTK.
You can also build native win32 GUIs using PythonWin, part of win32all.
A more complete list of options is available here:
http://www.python.org/cgi-bin/moinmoin/GuiProgramming .

I have heard a couple good things about Boa Constructor
(http://boa-constructor.sourceforge.net/) as an IDE. It includes a GUI
designer. I have not used it though. Stand alone GUI designers such as
wxGlade (http://wxglade.sourceforge.net/) are available as well.

As far as packaging the application for use on computers where python
is not installed. If you are distributing to windows computers you can
use py2exe to make a windows executable from a python program. It will
include dlls you need to distribute with your program. cx_Freeze and
Gordon McMillan's Installer also can create windows executable files.

Good luck... and be sure to read through the online tutorials and
wikis, there is a wealth of information out there. A book isn't a bad
investment either, I always feel better with a good reference book
around. Python in a nutshell is a good reference book, while Learning
Python gives you a good introduction to the language.

Chris
 
R

Rob Emmons

Well, I programmed a little in MS Visual Studio 2003, and there you have
Console apllication and Windows application (among others). Windows one is
with buttons and other gadgets. So, I want to make applications that
doesn't open console to display result, I want to display it into the
message box. Also, I want to use that application on the computers where
Python isn't installed

First there is a good book: Python Prgoramming on Win32, by Hammond &
Robinson, O'Reilly is the publisher. I believe one of these guys wrote
the python windows extension.

Second, on MS Windows you need two python installs, the basic python install,
and the python for windows extension (also sometimes call win32all or
something like that). These two together give you a great basic set to
work with. I've done MS Windows programming with these and they work great.

With the win32 extension module -- you can use ActiveX, you can use the
standard MS Windows calls, and it also defines a python intepretor mode
where it does not open the console window if you name the main program
module as .pyw (as opposed to .py). It does other things too. This is
all discribed in the book I recommended. Note also, if you don't want to
see the console window -- even without use .pyw files, you can tell the
launcher to open the console window minimized -- not great but it does
work.

I believe also if you want to use MS Visual Studio -- Active State sells
python programming tools that plug into MS Visual Studio if you want to do
that. I've not tried these so I don't know how they work or if they are
any good.

It's also possible to program on MS Windows so your app is protable to Linux
and other systems. You can use Tkinter or wxWidgets (was called
wxWindows -- until maybe MS made them change it) to do that. I've
used Tkinter before for example, though I think wxWidgets is probalby
more of the wave of the future. Others may know.

If you want to run the program on other computers not having python, you
have two basic choices. One -- what I do, I just made up a python setup
CD that installs python, python windows extensions, and the basic
libraries I usually use so that it's easy to setup a python environment on
other systems. Then I install my code.

The other alternative is to use one of the tools that wraps up a python
program with the needed executables. Some of these are py2exe, cx-freeze,
McMillan Installer, Fractel Mountains, StarKits, UPX, and InnoSetup. I've
not used any of these -- and so this list may not be correct/complete.
Others may know what's best.

There are also some compilers too - pyrex, pysco starkiller, and pypy.
Again, I've not used any of these and this is just from some cryptic notes
I've taken. So ask others for input. Probabably you want one of the
installers rather than the compilers because python compilers are kind of
new, but that's just a guess.

Hope that helps.
Rob
 
O

Ola Natvig

BOOGIEMAN said:
Well, I programmed a little in MS Visual Studio 2003, and there you have
Console apllication and Windows application (among others). Windows one is
with buttons and other gadgets. So, I want to make applications that
doesn't open console to display result, I want to display it into the
message box. Also, I want to use that application on the computers where
Python isn't installed

if you are familliar with the .NET framework you can use the beta
release og Python.NET to create your GUI. It gives you access to the
Windows Forms controlls in the .NET framework
 
F

Fuzzyman

You need py2exe to bundle applications so they can be used on machines
without python. When you do that you have a choice of whether or not
your application should have a console box or not. In order to use
buttons and other widgets you will need to choose a GUI toolkit. I
recommend starting with Tkinter - but others would recommend wxPython.
Regards,

Fuzzy
http://www.voidspace.org.uk/python/index.shtml
 
B

BOOGIEMAN

I believe also if you want to use MS Visual Studio -- Active State sells
python programming tools that plug into MS Visual Studio if you want to do
that. I've not tried these so I don't know how they work or if they are
any good.

Thanks all for very detailed answers. BTW I tried this one but it seems
that it doesn't use VS'es visual designer. Also it doesn't have "build"
option so it is basicly only usefull to higlight Python syntax.
Active Sate Komodo looks like much better choice
 
F

Fuzzyman

Couple of corrections - neither pypy nor starkiller are compilers.
Starkiller isn't available yet and *may* be helpful in building
compilers. Pyrex is an alternative language - a python/C hybrid that
can be compiled.

If you want to release an application then innosetup, starkit, and upx
might help - but they're not python related. You will need something
like py2exe, cx_freeze, or mcmillan installer. (Which are specific to
python - py2exe seems to be the more mature tool).

Alternatively you could consider 'Movable Python' - a frozen
distribution of python that doesn't need isntalling. See
http://sourceforge.net/projects/movpy
Regards,

Fuzzy
http://www.voidspace.org.uk/python/index.shtml
 
D

Doug Holton

BOOGIEMAN said:
Thanks all for very detailed answers. BTW I tried this one but it seems
that it doesn't use VS'es visual designer. Also it doesn't have "build"
option so it is basicly only usefull to higlight Python syntax.
Active Sate Komodo looks like much better choice

I don't know of any python IDE with a visual designer and a build to exe
option.

But since you are familiar with Visual Studio and you are developing on
Windows, you might check out the free SharpDevelop IDE:
http://www.icsharpcode.net/OpenSource/SD/

Then unzip this boo add-in into the SharpDevelop folder under Program
Files: http://coedit.net/boo/BooBinding.zip

Then you can start up SharpDevelop, create a new boo project, press the
green play button, and your exe will be built and executed (the one
below is only 4kb in size). We are working on adding support for
SharpDevelop's visual form designer soon.

To show a Windows message box instead of printing to the console like
you were asking earlier, you can use code like this:

import System.Windows.Forms
MessageBox.Show("your message")

Or for a more complete windows app:

import System.Drawing
import System.Windows.Forms

class MainForm(Form):
def constructor():
self.Text = "My Window"

b = Button(Text: "Click Me")
b.Location = Point(100,75)
b.Click += def():
MessageBox.Show("Button clicked")
#or:
#b.Click += OnButtonClick

self.Controls.Add(b)

def OnButtonClick():
MessageBox.Show("Button clicked")


f = MainForm()
Application.Run(f)
 
R

Rob Emmons

Couple of corrections - neither pypy nor starkiller are compilers.
Starkiller isn't available yet and *may* be helpful in building
compilers. Pyrex is an alternative language - a python/C hybrid that
can be compiled.

If you want to release an application then innosetup, starkit, and upx
might help - but they're not python related. You will need something
like py2exe, cx_freeze, or mcmillan installer. (Which are specific to
python - py2exe seems to be the more mature tool).

Alternatively you could consider 'Movable Python' - a frozen
distribution of python that doesn't need isntalling. See
http://sourceforge.net/projects/movpy

Great summary. I was hoping someone would fill in the blanks. I've been
interested in this area for some time -- but have not had time to look
into it more than keep a list of interesting projects I wanted to research
in the future. I'll add your comments to my list.

Again, thanks.

Rob
 
Joined
Oct 5, 2009
Messages
1
Reaction score
0
Go to oneminutepython .com, it contains a simple tutorial and a template application to develop cross platform gui apps in a few minutes!
 

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

No members online now.

Forum statistics

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

Latest Threads

Top