By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,199 Members | 1,077 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,199 IT Pros & Developers. It's quick & easy.

How do I make Windows Application with Python ?

P: n/a
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 ?
Jul 18 '05 #1
Share this Question
Share on Google+
14 Replies


P: n/a
BOOGIEMAN wrote:
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!

--
Jarek Zgoda
http://jpa.berlios.de/ | http://www.zgodowie.org/
Jul 18 '05 #2

P: n/a
BOOGIEMAN wrote:
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
Jul 18 '05 #3

P: n/a
On Mon, 03 Jan 2005 22:57:22 +0100, Jarek Zgoda wrote:
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 :(
Jul 18 '05 #4

P: n/a
On Mon, 03 Jan 2005 17:19:22 -0500, Peter Hansen wrote:
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
Jul 18 '05 #5

P: n/a
BOOGIEMAN wrote:
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

--

Pato./

Jul 18 '05 #6

P: n/a
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

Jul 18 '05 #7

P: n/a
I should learn to type faster. You beat me to the response.

Chris

Jul 18 '05 #8

P: n/a
> 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
Jul 18 '05 #9

P: n/a
BOOGIEMAN wrote:
On Mon, 03 Jan 2005 17:19:22 -0500, Peter Hansen wrote:

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


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

--
--------------------------------------
Ola Natvig <ol********@infosense.no>
infoSense AS / development
Jul 18 '05 #10

P: n/a
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

Jul 18 '05 #11

P: n/a
On Mon, 03 Jan 2005 19:56:10 -0600, Rob Emmons wrote:
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
Jul 18 '05 #12

P: n/a
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

Jul 18 '05 #13

P: n/a
BOOGIEMAN wrote:
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)
Jul 18 '05 #14

P: n/a
On Wed, 05 Jan 2005 04:49:05 -0800, Fuzzyman wrote:
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

Jul 18 '05 #15

This discussion thread is closed

Replies have been disabled for this discussion.