473,320 Members | 1,828 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Still Loving Python

I switched to Python a couple years ago, and haven't looked back. I've
used Python for many applications, including several commercial plugins
for Poser. I don't post on here much, because I don't need to; working
in Python is so obvious and easy, it's rare that I get stumped by the
limitations and need help from others. I sometimes read the group to
help others, but not very often. I just wanted to let you all know that
I'm still here, and even though I'm not vocal, I DO still use Python on
a daily basis.

Python still suffers from the lack of a good GUI, which I believe is
slowing its acceptance by the programming community at large. (I know
about tKinter, no need to post links to it, thanks.)

--Kamilche

Dec 13 '05 #1
46 2322
Il 2005-12-13, Kamilche <kl*******@comcast.net> ha scritto:
Python still suffers from the lack of a good GUI, which I believe is
slowing its acceptance by the programming community at large. (I know
about tKinter, no need to post links to it, thanks.)


Let me say I'm not agree, I'm developing a lot of GUI based stuff in PyGTK
and I'll never look back. The API is not perfect but suits our needs. I'm
a Gnome lover and hence having Gnome-style GUIs it's awesome. Add the plus
that is easy and powerful and you have a good toolkit to work on. I think
that the same thing can be said about the QT-side (not sure about wx,
don't like it at all).

Python *does* have GUI, you only have to decide which one you prefer.

ps. the customer wants Windows as a platform, we develop on Linux using
PyGTK, postgre and sql server for some old data. This is the true power of
cross-platform :)
--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
Dec 13 '05 #2
Lawrence Oluyede wrote:
Python *does* have GUI, you only have to decide which one you prefer.

ps. the customer wants Windows as a platform, we develop on Linux using
PyGTK, postgre and sql server for some old data. This is the true power of
cross-platform :)


Maybe the OP really wants a GUI builder.

More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :)

I only know about Glade and similar GUI builders (Boa) and they are not
even close to the robustness & ease of use. Are there any easy GUI
builders for any Python-supported toolkits?

Dec 13 '05 #3
Il 2005-12-13, Ivan Voras <iv****@fer.hr> ha scritto:
More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :)
I used Delphi for some time. It's one of the best environments I've ever
used. The point is that every toolkit works in a different way. You
cannot have one toolkit to rule them all.
I only know about Glade and similar GUI builders (Boa) and they are not
even close to the robustness & ease of use.
Boa is not my tool. Glade + Pygtk (or better Gazpacho) are.
Are there any easy GUI
builders for any Python-supported toolkits?


No
--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
Dec 13 '05 #4
Ivan Voras wrote:
Are there any easy GUI builders for any Python-supported toolkits?


wxDesigner is a really good commercial product, it's pretty inexpensive,
too. http://www.roebling.de/
--
Benji York
Dec 13 '05 #5
On Tue, 13 Dec 2005 17:35:40 +0100, Ivan Voras wrote:
Maybe the OP really wants a GUI builder. More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :)


Do you miss the 75+ attributes classes and globals as well ? I'm still
forced to work with Delphi from time to time (though whenever I can do
something in Python instead, I do) and it makes me want to throw up. Sure,
the designer is nice, but when you look at the generated code...

Sorry for the harsh tone, I just think GUI builders are *evil*. Except
maybe for QT Designer, which has a nice model where you implement
callbacks by subclassing the generated classes. At least you don't have to
look at the generated code.

Anyway, if the OP is looking for a 'Python Delphi', I think Boa
constructor is just that. I can't stand it :)

Dec 13 '05 #6
Lawrence Oluyede wrote:
Il 2005-12-13, Ivan Voras <iv****@fer.hr> ha scritto:
More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :)

I used Delphi for some time. It's one of the best environments I've ever
used. The point is that every toolkit works in a different way. You
cannot have one toolkit to rule them all.

I only know about Glade and similar GUI builders (Boa) and they are not
even close to the robustness & ease of use.

Boa is not my tool. Glade + Pygtk (or better Gazpacho) are.

Are there any easy GUI
builders for any Python-supported toolkits?

No

There's wxDesigner. It costs money, but IMHO it's well worth the
relatively modest price.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Dec 13 '05 #7

Lawrence Oluyede wrote:
Il 2005-12-13, Kamilche <kl*******@comcast.net> ha scritto:
Python still suffers from the lack of a good GUI, which I believe is
slowing its acceptance by the programming community at large. (I know
about tKinter, no need to post links to it, thanks.)


Let me say I'm not agree, I'm developing a lot of GUI based stuff in PyGTK
and I'll never look back. The API is not perfect but suits our needs. I'm
a Gnome lover and hence having Gnome-style GUIs it's awesome. Add the plus
that is easy and powerful and you have a good toolkit to work on. I think
that the same thing can be said about the QT-side (not sure about wx,
don't like it at all).

Python *does* have GUI, you only have to decide which one you prefer.

ps. the customer wants Windows as a platform, we develop on Linux using
PyGTK, postgre and sql server for some old data. This is the true power of
cross-platform :)
--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"


Here are some surveys of the landscape
http://pythonology.org/howto
http://aspn.activestate.com/ASPN/Coo...ython?kwd=User
http://en.wikibooks.org/wiki/Program...UI_Programming

http://www.awaretek.com/tutorials.html#gui
http://python.codezoo.com/pub/category/197
http://directory.google.com/Top/Comp...n/Modules/GUI/

Dec 13 '05 #8
Nothing beats Delphi for the raw design speed and choices for GUI
development. .NET is another good option. The good news is you don't
have to loose their benefits just because we chose Python. Python for
Delphi works quite well to get you the best of both worlds. I develop
the app in Python as a library first (Python is great for quick
prototyping), make my GUI in Delphi and simply call my library from it.
Bundling Python manually into an installer can be a chore but you will
get used to it. Once IronPython is complete, it should do the same for
..NET. I currently use Boo in a similar fashion.

For simpler UIs, libglade does a great job of seperating concerns.
Are there any easy GUI
builders for any Python-supported toolkits?


Most UI toolkits have sort of builders
GTK - Glade
wxWindows - wxGlade
Fox - Fox Dialog Editor
FLTK - Fluid
TkInter - SpecTcl (I think I remember it exporting to Python)

Ofcourse, none are as robust as Delphi's.

Dec 13 '05 #9
Jérôme Laheurte <fr****@free.fr> writes:
On Tue, 13 Dec 2005 17:35:40 +0100, Ivan Voras wrote:
Maybe the OP really wants a GUI builder.
More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :) Sorry for the harsh tone, I just think GUI builders are *evil*.


I agree. I've tried a number of different gui builders. I find it much
faster to type something like:

ui.add_button("New", self.new)
ui.add_button("Open", self.open)
ui.add_button("Save", self.save)
ui.add_button("Save As", self.save_as)

Than have to drag four menu buttons from a pallette, then open the
properties of each one to edit the text of the button and the callback
entry (or whatever dance they need so you can enter the required
text).
Anyway, if the OP is looking for a 'Python Delphi', I think Boa
constructor is just that. I can't stand it :)


Never tried it. My experiences with GUI builders has convinced me I
don't want anything to do with them.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 13 '05 #10
Mike Meyer schrieb:
I agree. I've tried a number of different gui builders. I find it much
faster to type something like:

ui.add_button("New", self.new)
ui.add_button("Open", self.open)
ui.add_button("Save", self.save)
ui.add_button("Save As", self.save_as)

Than have to drag four menu buttons from a pallette, then open the
properties of each one to edit the text of the button and the callback
entry (or whatever dance they need so you can enter the required
text).


If you design a moderately complex UI a designer will be faster. It's
not the speed of typing vs. dragging that matters. You see the result
instantly and don't have to start your program, look, type code, start
again and so on. A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.

It's not a good idea to do everything in code. I find it tiresome to
create menus and toolbars by writing code. It's not as bad as creating
an image by typing addpixel(x,y,color) a million times but it comes
close.

Creating visual resources visually is the direct way, creating them in
code is a detour. Code is too lengthy and too versatile for such a
job.

--
Peter Maas, Aachen, Germany
Dec 13 '05 #11
I just wanted to mention that, according to the latest news from
Ironpython's mailing list, an Ironpython plug-in for Visual Studio is
on the works. Read on:

Aaron Marten wrote:
Hi Giles,
I'm on the Visual Studio SDK team here at Microsoft. In
co-operation with the IronPython team, we're currently working on
integrating IronPython into Visual Studio as a sample to ship in our
SDK. We've just released a CTP with the first version of this here:

http://affiliate.vsipmembers.com/dow...eDownload.ashx

I also blogged a bit about the Dec CTP release of the Visual Studio SDK here:
http://blogs.msdn.com/aaronmar/archi...09/502202.aspx

Note that right now, the integration code is in an incomplete state, but we do have the beginnings of a project system and language service
working. Note that right now, the integration is only available as a
preview sample in the Visual Studio SDK, so you'll have to agree to our license to get the code.

Thanks!
Aaron Marten (Microsoft)


Dec 13 '05 #12
DH
Ivan Voras wrote:
Maybe the OP really wants a GUI builder.

More than 5 years ago, i programmed in Visual Basic and Delphi and I
still miss the wonderful ease of graphically creating the user interface
in WYSIWYG mode. If you haven't tried it, you don't know what you're
missing :)

I only know about Glade and similar GUI builders (Boa) and they are not
even close to the robustness & ease of use. Are there any easy GUI
builders for any Python-supported toolkits?


Search for QT Designer. It's the best designer you're going to find by far.
http://www.riverbankcomputing.co.uk/pyqt/
http://www.opendocs.org/pyqt/
http://www.pragmaticprogrammer.com/titles/ctrubyqt/

It's a shame though because pygtk and wxpython are probably better gui
apis for python, but their gui builders are no where near as nice.
QT Designer lets you drop in controls as you are designing, and THEN
apply layout constraints, instead of the reverse like in other gui
builders.
Dec 13 '05 #13
Peter Maas <pe********@somewhere.com> writes:
Mike Meyer schrieb:
I agree. I've tried a number of different gui builders. I find it much
faster to type something like:
ui.add_button("New", self.new)
ui.add_button("Open", self.open)
ui.add_button("Save", self.save)
ui.add_button("Save As", self.save_as)
Than have to drag four menu buttons from a pallette, then open the
properties of each one to edit the text of the button and the callback
entry (or whatever dance they need so you can enter the required
text). If you design a moderately complex UI a designer will be faster. It's
not the speed of typing vs. dragging that matters. You see the result
instantly and don't have to start your program, look, type code, start
again and so on.


But you only need to do that if you're wanting near-absolute control
over what's displayed. Once you provide reasonable accessability and
configuration features - letting the user specifiy fonts, which
buttons show up, which toolbars you're going to have, what's in the
menus, etc. In this case, "look" is trivial, and it seldom requires a
second pass.
A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.
That is your opinion, and I'm sure it's true for you. It isn't true
for me.
It's not a good idea to do everything in code. I find it tiresome to
create menus and toolbars by writing code.
Maybe you're doing something wrong? Or maybe it is tiresome for you,
and you should be using something else.
Creating visual resources visually is the direct way, creating them in
code is a detour. Code is too lengthy and too versatile for such a
job.


Your application creates code in the end, so that's the direct
route. A visual representation of a modern app is a relatively static
version of the real interface, and thus at best an approximation.

Worse yet, there's a good chance your visual tool stores the
information needed to recreate either the visual version or the code
in either a binary format, or a proprietary one, or both. In the
former case, standard code analysis tools are nearly useless. In the
latter case, they own your code. While that price might be worth it if
you place enough value onj being able to manipulate images instead of
code, either is enough to make me avoid a tool.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 14 '05 #14
Mike Meyer wrote:
A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.


That is your opinion, and I'm sure it's true for you. It isn't true
for me.


Not trying to start a war here, but I consider this discussion something
like using regular expressions vs coding string matchers by hand. Of
course a "real language" is Turing-complete and thus without doubt more
powerful than regular expressions, and certainly there are people who
always code string parsers in their language of choice, but for those
who know how to use it, regular expressions simplify the work a lot.
It's more "natural" to see:

if str.matches("\d\d\d\d"):...

than to code

if str[0] in digits && str[1] in digits && str[2] in digits && str[3] in
digits: ...

And in C, it's even more uglier. The point is: somebody had to code the
RE parser and at the end, it will all fall back to the code written in
C, for both RE and visual designer generated code.

People are visual creatures and GUI designers are simply easier to work
with. :)

Dec 14 '05 #15
On 12/13/05, Mike Meyer <mw*@mired.org> wrote:
A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.


That is your opinion, and I'm sure it's true for you. It isn't true
for me.


Why, then, do you disparage those who like to do things differently?
Why label visual tools as "evil"? Why this need to have everyone do
things the way you do?

This sounds a lot like the tabs vs. spaces argument, or the emacs vs.
every other editor argument, in that one side seems to feel that "to
each his own", while the other side has a religious zealotry about
them that compels them to want to enforce their preferences on
everyone.

You like to write code? Great! Someone else like to use a visual
designer? Great! Just realize that UI created with visual tools can be
crap, and so can UIs written with raw code. Making fun of people whose
preferences are different than yours only makes you look insecure.

--

# p.d.
Dec 14 '05 #16
Peter Decker <py******@gmail.com> writes:
> A GUI builder is more pleasant to work with, at least
> with a good one like Delphi or Qt designer. That is your opinion, and I'm sure it's true for you. It isn't true
for me.

Why, then, do you disparage those who like to do things differently?
Why label visual tools as "evil"?


I didn't label them as "evil" - I agreed with someone who did that
:-).
Why this need to have everyone do things the way you do?


Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 14 '05 #17
Jérôme Laheurte <fr****@free.fr> wrote:
...
Sorry for the harsh tone, I just think GUI builders are *evil*. Except
maybe for QT Designer, which has a nice model where you implement
callbacks by subclassing the generated classes. At least you don't have to
look at the generated code.


Try Interface Builder on a Mac: it builds interfaces as _data_ files,
not "generated code". You can then use the same UI from Objective C,
Java, Python (w/PyObjC), AppleScript... interface-painters which
generate code are a really bad idea. (I'm sure Apple's IB is not the
only interface-painter which encodes the UI as a datafile, easily
interpreted at startup by a suitable library for whatever language
you're using to flesh it out -- it's such an obviously RIGHT idea!).
Alex

Dec 14 '05 #18
Yeah, I have a system like that on my product. It's a data file loaded
at code startup time, which results in a UI - no need to cut code to
change the interface. It's saved me a lot of time.

I also have a problem with 'designers'. If the GUI designer is as easy
as making an interface was in VB6, I would like it and use it. If it's
complicated morass of sticky goo that I have to wade through at the
start of the program, like tKinter, I'd rather use pure code, or data
files.

Dec 14 '05 #19
al***@mail.comcast.net (Alex Martelli) writes:
Try Interface Builder on a Mac: it builds interfaces as _data_ files,
not "generated code". You can then use the same UI from Objective C,
Java, Python (w/PyObjC), AppleScript... interface-painters which
generate code are a really bad idea.


Glade also does something like that.

We see the same thing in HTML. Lots of people including serious
designers use wysiwyg HTML layout programs. For fancy layouts they're
almost indispensible. I hand-code my HTML but I keep it simple.
Dec 14 '05 #20
Mike Meyer wrote:
Peter Decker <py******@gmail.com> writes:
A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.

That is your opinion, and I'm sure it's true for you. It isn't true
for me.


Why, then, do you disparage those who like to do things differently?
Why label visual tools as "evil"?

I didn't label them as "evil" - I agreed with someone who did that
:-).

Why this need to have everyone do things the way you do?

Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.


Before we descend to the level of name calling :-), can I interject
another, possibly heretical, point in favour of GUI builders that you
might *both* be able to disagree with?

It isn't often done, but I quite like the idea of giving users the GUI
builder so that they can specify their preferred task interface, at
least to a first approximation.

With a good tool it's relatively easy to integrate application code
after GUI clean-up. Users sometimes find this a more intuitive way of
specifying what they want (and God knows, most users *need* better ways
of specifying what they want ...)

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Dec 14 '05 #21
Alex Martelli wrote:
Jérôme Laheurte <fr****@free.fr> wrote:
...
Sorry for the harsh tone, I just think GUI builders are *evil*. Except
maybe for QT Designer, which has a nice model where you implement
callbacks by subclassing the generated classes. At least you don't have to
look at the generated code.

Try Interface Builder on a Mac: it builds interfaces as _data_ files,
not "generated code". You can then use the same UI from Objective C,
Java, Python (w/PyObjC), AppleScript... interface-painters which
generate code are a really bad idea. (I'm sure Apple's IB is not the
only interface-painter which encodes the UI as a datafile, easily
interpreted at startup by a suitable library for whatever language
you're using to flesh it out -- it's such an obviously RIGHT idea!).

You're right. For example wxDesigner will produce XML, as well as
writing wxWidgets calls directly in Python, Perl or C++.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Dec 14 '05 #22
On Tue, 13 Dec 2005 20:33:36 -0500, Mike Meyer <mw*@mired.org> wrote:
Peter Maas <pe********@somewhere.com> writes:
Mike Meyer schrieb:
I agree. I've tried a number of different gui builders. I find it much
faster to type something like:
ui.add_button("New", self.new)
ui.add_button("Open", self.open)
ui.add_button("Save", self.save)
ui.add_button("Save As", self.save_as)
Than have to drag four menu buttons from a pallette, then open the
properties of each one to edit the text of the button and the callback
entry (or whatever dance they need so you can enter the required
text). If you design a moderately complex UI a designer will be faster. It's
not the speed of typing vs. dragging that matters. You see the result
instantly and don't have to start your program, look, type code, start
again and so on.


But you only need to do that if you're wanting near-absolute control
over what's displayed. Once you provide reasonable accessability and
configuration features - letting the user specifiy fonts, which
buttons show up, which toolbars you're going to have, what's in the
menus, etc. In this case, "look" is trivial, and it seldom requires a
second pass.
A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.


That is your opinion, and I'm sure it's true for you. It isn't true
for me.

De gustibus non disputandum, or whatever ;-)
It's not a good idea to do everything in code. I find it tiresome to
create menus and toolbars by writing code.


Maybe you're doing something wrong? Or maybe it is tiresome for you,
and you should be using something else.
Creating visual resources visually is the direct way, creating them in
code is a detour. Code is too lengthy and too versatile for such a
job.


Your application creates code in the end, so that's the direct
route. A visual representation of a modern app is a relatively static
version of the real interface, and thus at best an approximation.

Worse yet, there's a good chance your visual tool stores the
information needed to recreate either the visual version or the code
in either a binary format, or a proprietary one, or both. In the
former case, standard code analysis tools are nearly useless. In the
latter case, they own your code. While that price might be worth it if
you place enough value onj being able to manipulate images instead of
code, either is enough to make me avoid a tool.

If that is your concept of Delphi, it is wrong. A text view of what you have
created visually is available. I put four buttons on a blank form with
captions per your example. The result is

object Form1: TForm1
Left = 200
Top = 108
Width = 696
Height = 480
Caption = 'Form1'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 64
Top = 48
Width = 75
Height = 25
Caption = 'New'
TabOrder = 0
end
object Button2: TButton
Left = 152
Top = 48
Width = 75
Height = 25
Caption = 'Open'
TabOrder = 1
end
object Button3: TButton
Left = 240
Top = 48
Width = 75
Height = 25
Caption = 'Save'
TabOrder = 2
end
object Button4: TButton
Left = 328
Top = 48
Width = 75
Height = 25
Caption = 'Save As'
TabOrder = 3
end
end

You see the above sort of text if you are looking at a form you are working and you press Alt-F12.
If you do not violate the format, you can edit it as text right in the window you are looking at
and round-trip it back to a visual view with another Alt-F12, and you will see the adjusted visual view.
Other aspects of objects show up too if you set non-default conditions one way or the other. E.g.,
adding an individual mouse-over hint is a matter of typing the text in a slot in the object inspector
which is automatically showing the properties of the button etc that you have visually selected
on your form/dialog. E.g., above button with hint added.

object Button4: TButton
Left = 328
Top = 48
Width = 75
Height = 25
Hint = 'Opens a file dialog for saving'
Caption = 'Save As'
ParentShowHint = False
ShowHint = True
TabOrder = 3
end

A single click compiles, links and runs the resulting independent windows .exe in a fraction of a second
for the above, and I can see the hint, kill the .exe, and go on where I was.

Of course, as you see, I could select the text and put it in the clipboard, and post it here.

BTW, Delphi also compiles and links in a blink (literally for small programs), and generates
a small .exe. Delphi also lets you code without GUI and gives you a command line compiler for
its object pascal, and you can write very small executables that way if you like, even using x86 builtin assembler.
And it compiles and links _hella_ faster than C/C++ ;-) And you can make DLLs, and link also with non-Delphi.

Not that I've used it for quite some time, though ;-)

Anyway, I wouldn't diss Delphi too casually. I don't think you would if you'd spent enough time to
get fluent in it. (I don't know what the current state of Delphi is though. I'm speaking from experience
mostly with the ancient Delphi3 whose output you see above ;-)

Regards,
Bengt Richter
Dec 14 '05 #23
On 12/13/05, Mike Meyer <mw*@mired.org> wrote:
Why this need to have everyone do things the way you do?


Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.


Sorry, but there is a world of difference between saying "I prefer X
over Y" and "Yes, Y is evil". And unless English is a second language
for you, it's insulting to imply a difference between calling
something evil and agreeing with someone who did, even if you added a
smiley.

This is a 'discussion' list. Nothing kills discussion faster than
zealots who call those who disagree with them evil or idiots or
clueless n00bs.

--

# p.d.
Dec 14 '05 #24
Lawrence Oluyede wrote:
ps. the customer wants Windows as a platform, we develop on Linux using
PyGTK, postgre and sql server for some old data. This is the true power of
cross-platform :)


PyGTK is crossplatform, that's true, but it looks very ugly under
Windows and don't know under MacOS (if it's supported). I couldn't find
the way for get it running with an atractive look & feel under Windows
after compiling it. Also, it needs the GTK+ Runtime Environment. I use
wxPython and it is very very very very good. It's not perfect, but IMO,
it is much better than PyGTK. PyGTK is good if you intend to develop
for Linux.

Daniel

Dec 14 '05 #25
Peter Decker wrote:
On 12/13/05, Mike Meyer <mw*@mired.org> wrote:
> Why this need to have everyone do things the way you do?


Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.


Sorry, but there is a world of difference between saying "I prefer X over
Y" and "Yes, Y is evil". And unless English is a second language for you,
it's insulting to imply a difference between calling something evil and
agreeing with someone who did, even if you added a smiley.

This is a 'discussion' list. Nothing kills discussion faster than zealots
who call those who disagree with them evil or idiots or clueless n00bs.


Except maybe anal retentive prats who argue semantics to cover up the fact
that they wouldn't know a for loop from a foreskin.

And by the by... visual tools ARE evil. <nfgaa>

It's like your dad getting his drunken bar buddies to plow your mother
because he's too fat to do it himself. The unfortunate offspring of any
such union is equally the bastard be it human or machine. It will have
this queer tendency to have the same eyes as the guy over in the corner,
luxuriating in a puddle of his own urine.

Dec 14 '05 #26
Il 2005-12-14, Daniel Crespo <dc*****@gmail.com> ha scritto:
PyGTK is crossplatform, that's true, but it looks very ugly under
Windows and don't know under MacOS (if it's supported).
You can use themes. Under MacOSX you have to install X11, but a native
version in on the way.
I couldn't find
the way for get it running with an atractive look & feel under Windows
after compiling it. Also, it needs the GTK+ Runtime Environment. I use
wxPython and it is very very very very good. It's not perfect, but IMO,
it is much better than PyGTK. PyGTK is good if you intend to develop
for Linux.


So wxPython doesn't need a runtime? I don't think so. wxPython for me
sucks under Linux (built on gtk2) and I don't like its API at all. It
seems a bit awkward to me. Anyway... what do you mean with "much better" ?

--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
Dec 14 '05 #27
On 14 Dec 2005 13:49:39 -0000, TwistyCreek <an**@comments.header> wrote:
And by the by... visual tools ARE evil. <nfgaa>

It's like your dad getting his drunken bar buddies to plow your mother
because he's too fat to do it himself. The unfortunate offspring of any
such union is equally the bastard be it human or machine. It will have
this queer tendency to have the same eyes as the guy over in the corner,
luxuriating in a puddle of his own urine.


Wow, I can't think of a response that would make you look more
clueless than what you just wrote.

And thank you for making my point: zealots have no place in a
discussion list, since they are incapable of discussing.

--

# p.d.
Dec 14 '05 #28
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> "Bengt" == Bengt Richter <bo**@oz.net> writes:

Bengt> De gustibus non disputandum, or whatever ;-)

Yeah, and quidquid latine dictum sit, altum viditur. :-)

Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

iEYEARECAAYFAkOgIuoACgkQYu1fMmOQldULYwCgjZovLw/gTJ8I/z/Wem203aca
DUUAoJ7GNNn2QOrmFINrgw58OkRnBmJU
=mUHX
-----END PGP SIGNATURE-----
Dec 14 '05 #29
bo**@oz.net (Bengt Richter) writes:
A single click compiles, links and runs the resulting independent windows .exe in a fraction of a second
for the above, and I can see the hint, kill the .exe, and go on where I was.


Click? Yuck. If I wanted it, I've had environments where a single
keystroke (much better) compiled, linked and ran the resulting
app. Not in a fraction of a second, but that's sort of irrelevant to
the GUI/non-GUI question.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 14 '05 #30
Peter Decker <py******@gmail.com> writes:
On 12/13/05, Mike Meyer <mw*@mired.org> wrote:
> Why this need to have everyone do things the way you do? Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.

Sorry, but there is a world of difference between saying "I prefer X
over Y" and "Yes, Y is evil". And unless English is a second language
for you, it's insulting to imply a difference between calling
something evil and agreeing with someone who did, even if you added a
smiley.


I don't agree. I do apologize, though - no insult as intended.
This is a 'discussion' list. Nothing kills discussion faster than
zealots who call those who disagree with them evil or idiots or
clueless n00bs.


There's also a world of difference between saying "X is evil" and
saying "users of X are evil." Unless English is a second language for
you, going from a statement about X to a statement about is users of X
is insulting.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 14 '05 #31
TwistyCreek wrote:
Peter Decker wrote:

On 12/13/05, Mike Meyer <mw*@mired.org> wrote:

Why this need to have everyone do things the way you do?

Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.


Sorry, but there is a world of difference between saying "I prefer X over
Y" and "Yes, Y is evil". And unless English is a second language for you,
it's insulting to imply a difference between calling something evil and
agreeing with someone who did, even if you added a smiley.

This is a 'discussion' list. Nothing kills discussion faster than zealots
who call those who disagree with them evil or idiots or clueless n00bs.

Except maybe anal retentive prats who argue semantics to cover up the fact
that they wouldn't know a for loop from a foreskin.

And by the by... visual tools ARE evil. <nfgaa>

It's like your dad getting his drunken bar buddies to plow your mother
[...] in a puddle of his own urine.

And that's quite enough of that, thanks.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Dec 14 '05 #32
> So wxPython doesn't need a runtime? I don't think so. wxPython for me
sucks under Linux (built on gtk2) and I don't like its API at all. It
seems a bit awkward to me. Anyway... what do you mean with "much better" ?


It's much better:
- Its portability is superior over PyGTK
- Its look & feel is superior over PyGTK (except in Linux)

Under windows, only needs some dlls (they are its runtime), and works
perfect. The same exe works on Win98, ME, 2000, XP. Of course that
there are some differences between these OSs.

I tried both a lot, and I stay with wxPython :)

Dec 14 '05 #33
By the way:
Under windows, only needs some dlls


py2exe does this job :)

Daniel

Dec 14 '05 #34
Alex Martelli wrote:
Jérôme Laheurte <fra...@free.fr> wrote:
Sorry for the harsh tone, I just think GUI builders are *evil*. Except
maybe for QT Designer, which has a nice model where you implement
callbacks by subclassing the generated classes. At least you don't haveto
look at the generated code.


Try Interface Builder on a Mac: it builds interfaces as _data_ files,
not "generated code". You can then use the same UI from Objective C,
Java, Python (w/PyObjC), AppleScript... interface-painters which
generate code are a really bad idea.


Well, my limited experience with Qt Designer suggests that it
principally generates XML-based user interface descriptions. In Qt 3's
Designer, there are various callback editing windows which assume that
you're entering C++, but I haven't needed to use them myself, and these
may actually have been removed in Qt 4's Designer (although I haven't
begun to investigate that yet).

I imagine that Jérôme was referring to code generated by pyuic. Of
course, there are various extensions for PyQt which let you build the
user interface directly from the XML-based descriptions.

Paul

P.S. Why does Google Groups have to mangle Jérôme's name and, while
we're on the subject, when are they going to at least implement
autoquoting of the message being responded to? Sigh!

Dec 14 '05 #35
Il 2005-12-14, Daniel Crespo <dc*****@gmail.com> ha scritto:
Under windows, only needs some dlls (they are its runtime), and works
perfect. The same exe works on Win98, ME, 2000, XP. Of course that
there are some differences between these OSs.
It's the same for Gtk
I tried both a lot, and I stay with wxPython :)


:)

--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
Dec 14 '05 #36
Peter Decker said unto the world upon 2005-12-14 07:03:
On 12/13/05, Mike Meyer <mw*@mired.org> wrote:

Why this need to have everyone do things the way you do?


Whatever makes you think I have this need? I said I hated them. I'm
pretty sure I didn't say everyone should have to use them.

Sorry, but there is a world of difference between saying "I prefer X
over Y" and "Yes, Y is evil". And unless English is a second language
for you, it's insulting to imply a difference between calling
something evil and agreeing with someone who did, even if you added a
smiley.

This is a 'discussion' list. Nothing kills discussion faster than
zealots who call those who disagree with them evil or idiots or
clueless n00bs.

--

# p.d.


It seems to me that long tradition has it that "evil" in a context
such as this really is not that strong a term. See
<http://www.catb.org/jargon/html/E/evil.html>.

If you knew that and were still objecting, sorry for the noise.

Best,

Brian vdB

Dec 14 '05 #37
Peter Maas wrote:
If you design a moderately complex UI a designer will be faster. It's
not the speed of typing vs. dragging that matters. You see the result
instantly and don't have to start your program, look, type code, start
again and so on. A GUI builder is more pleasant to work with, at least
with a good one like Delphi or Qt designer.


I haven't worked terribly much with GUI design, but I've written
a few GUI programs using both approaches, and I've used Rational
Rose to generate C++ code from object models quite a lot.

It's my impression that code generation leads to more duplication
and less code reuse. It's easy to whip up a new class or window
that duplicates a lot of already existing code, with those graphical
tools.

These tools encourage a development style similar to the copy-paste
programming style, and that leads to a big maintenance burden in
a longer perspective. Refactoring gets harder, and maintenance
suffers if the original information concerning the software is
split between source code and other repositories that are used for
the generation of programming code.

It's also my impression that these code generating tools don't
scale so well. When projects get bigger, tools that potentially
influence many source files, sometimes causing unnecessary changes
due to the way they are implemented, will create havoc in the
configuration management systems. There will be blocking locks
or conflicts that needs to be sorted out, making it hard for
programmers to work in parallel on the same components, and more
difficult to track relevant changes between versions in the
software. This makes it even harder than otherwise to increase
development speed by adding more people to a project etc.

Besides the fact that it's quick to generare yet another bunch
of files, these tools typically impose constrains that makes it
more difficult to use otherwise clever design approaches that
would lead to an effective implementation. This has bitten me
both with GUI designers and when I used Rational Rose and Plugins
for that. For instance there were features in some APIs that
were difficult to employ because they weren't supported by our
code generation plugin for Rose.

I also found that it's easy in Python to make fairly thin GUIs
with test stubs that can be fired up and tested quickly during
development.

If you e.g. have several similar Windows, it's easy with properly
written OO Python code to write a main module that supports all
the shared features, and a tiny module for each variant of the
Window that subclasses the main module. With the GUI designers
I used, the typical approach would not involve that kind of
code sharing.
Dec 14 '05 #38
On Wed, 14 Dec 2005 08:21:30 -0800, Daniel Crespo wrote:
So wxPython doesn't need a runtime? I don't think so. wxPython for me
sucks under Linux (built on gtk2) and I don't like its API at all. It
seems a bit awkward to me. Anyway... what do you mean with "much better" ?
It's much better:

- Its portability is superior over PyGTK
Mmmh, I haven't used pyGTK a lot so I can't really compare them but in my
experience wxPython is very unstable on anything but Windows (in fact it's
not wxPython's fault but wxWidget's of course)... Seems to have gotten
better with newer releases.
- Its look & feel is superior over PyGTK (except in Linux)
No, its look & feel is the one of the underlying platform, though I think
the term "underlying platform" has meaning only on Windows and MacOS. Of
course a Windows user will be more at ease with a wx application than with
a GTK one, but that doesn't mean Windows look & feel is better than GTK
(maybe it is, but I think it's a matter of taste).
Under windows, only needs some dlls (they are its runtime), and works
perfect. The same exe works on Win98, ME, 2000, XP. Of course that
there are some differences between these OSs.


I concur, wxPython is perfect for Windows apps. It's far less than perfect
for Linux though, and I haven't tried it on MacOS yet.

Shameless plug: I once wrote a rant about wxPython (warning: flame
material ahead):

http://fraca7.free.fr/blog/index.php...ord-about-guis

Dec 14 '05 #39
On Wed, 14 Dec 2005 08:35:56 -0800, Paul Boddie wrote:
I imagine that Jérôme was referring to code generated by pyuic. Of
course, there are various extensions for PyQt which let you build the
user interface directly from the XML-based descriptions.
Indeed, that's what I meant. I should have been a bit more explicit.
P.S. Why does Google Groups have to mangle Jérôme's name


I didn't see anything wrong... Encoding problem ?

Dec 14 '05 #40
On Wed, 14 Dec 2005 12:35:56 -0600, Brian van den Broek wrote:
It seems to me that long tradition has it that "evil" in a context
such as this really is not that strong a term. See
<http://www.catb.org/jargon/html/E/evil.html>.


Thanks. Next time I'll spell it 'eeeevil', in the hope that it will
somehow prevent a flame war :)

Dec 14 '05 #41
On Wed, 14 Dec 2005 08:53:26 +0000, Steve Holden wrote:
It isn't often done, but I quite like the idea of giving users the GUI
builder so that they can specify their preferred task interface, at
least to a first approximation.


That would be a valid use for these things, prototyping the UI. Or making
mock-ups for usability testing.

Dec 14 '05 #42
On Wed, 14 Dec 2005 10:07:04 -0500, Mike Meyer <mw*@mired.org> wrote:
bo**@oz.net (Bengt Richter) writes:
A single click compiles, links and runs the resulting independent windows .exe in a fraction of a second
for the above, and I can see the hint, kill the .exe, and go on where I was.


Click? Yuck. If I wanted it, I've had environments where a single
keystroke (much better) compiled, linked and ran the resulting
app. Not in a fraction of a second, but that's sort of irrelevant to
the GUI/non-GUI question.

You don't have to click. A single keystroke (F9) does it too ;-)
Just that if you are testing for a hint appearing when you mouse over a button,
it's handier to move the cursor a coule of inches and click a Delphi IDE button
with the same hand than it is to go for F9. But either way works.
An integrated debugger that lets you step through your app and watch the visuals
happen as you step by various chunks or run to breakpoints etc is useful sometimes too.

You can also do totally command-line oriented, non-GUI stuff much as you'd do C, except
in object pascal. A minimal app:

[11:51] E:\UTIL\log>type hw.dpr
program Hw;
{$Apptype Console}
begin
Writeln('Hello World');
end.

[11:51] E:\UTIL\log>dcc32 hw.dpr
Delphi for Win32 Version 10.0 Copyright (c) 1983,97 Borland International
hw.dpr(6)
7 lines, 0.02 seconds, 10184 bytes code, 1377 bytes data.

[11:51] E:\UTIL\log>dir hw.*
Volume in drive E is Non-MS
Volume Serial Number is 3C7A-BC1A

Directory of E:\UTIL\log

05-12-14 11:47 73 hw.dpr
05-12-14 11:51 15,360 hw.exe

Regards,
Bengt Richter
Dec 14 '05 #43
On 12/14/05, Magnus Lycka <ly***@carmen.se> wrote:
It's my impression that code generation leads to more duplication
and less code reuse. It's easy to whip up a new class or window
that duplicates a lot of already existing code, with those graphical
tools.


Of course, Visual designer != code generation

Code generation tends to be sloppy and strictly 1-way. In most cases,
you can't edit it manually and then open the design back up in the
visual tool.

--

# p.d.
Dec 14 '05 #44
Paul Rubin <http://ph****@NOSPAM.invalid> wrote:
Glade also does something like that.


Indeed. I'd also add some lines on this.

There is a very nice designer for GTK+ applications called Gazpacho,
written in python and available here: http://gazpacho.sicem.biz/

It generates an XML file in the same Glade format (actually it's
slightly different for the Menus). It doesn't require libglade though
because it has its own .glade loader and thanks to this at load time it
can bind events using method names in your 'controller' class (which
inherits from gazpacho's Proxy class.

This means that, if you are using python, you don't even have to define
the actions and action handlers in the designer.

for example:

class LogsterClient(Proxy):

def on_connect__clicked(self, button):
....
....

def on_logster__destroy(self, window):
....
....

p = Proxy('my_ui.glade')

And it also provide an easy and flexible way to integrate additional
custom widgets in the design process.

Of course it's always possible to build powerful GUIs without using
designers at all:

http://www.lethalman.net/?p=21

--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.4
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Dec 14 '05 #45
bo**@oz.net (Bengt Richter) writes:
On Wed, 14 Dec 2005 10:07:04 -0500, Mike Meyer <mw*@mired.org> wrote:
bo**@oz.net (Bengt Richter) writes:
A single click compiles, links and runs the resulting independent windows .exe in a fraction of a second
for the above, and I can see the hint, kill the .exe, and go on where I was.Click? Yuck. If I wanted it, I've had environments where a single
keystroke (much better) compiled, linked and ran the resulting
app. Not in a fraction of a second, but that's sort of irrelevant to
the GUI/non-GUI question.

You don't have to click. A single keystroke (F9) does it too ;-)


F9? Better, but not much. Especially considering that my desktop keyboard
doens't have an F9 key: <URL:
http://www.tldp.org/linuxfocus/Engli...article75.html >.
Just that if you are testing for a hint appearing when you mouse over a button,
it's handier to move the cursor a coule of inches and click a Delphi IDE button
with the same hand than it is to go for F9. But either way works.
That doesn't sound like a likely sequence - if the hint appears, then
you're done with that and it's time to code. If the hint doesn't
appear, then you're not done, and you have to fix the things, which
means taking your hands off the mouse to type the hint in.
An integrated debugger that lets you step through your app and watch the visuals
happen as you step by various chunks or run to breakpoints etc is useful sometimes too.
Yup. I like mine very much. But that's got nothing to do with how the
GUI is built.
You can also do totally command-line oriented, non-GUI stuff much as you'd do C, except
in object pascal. A minimal app:


You now seem to be trying to sell a language.

<mike
--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Dec 14 '05 #46
Jérôme Laheurte wrote:
P.S. Why does Google Groups have to mangle Jérôme's name


I didn't see anything wrong... Encoding problem ?


The preview and subsequent re-editing page typically show trashed
non-ASCII characters in Konqueror, which doesn't usually show such
brokenness on the pages I view, but I've become accustomed to taking
evasive action and editing my messages in the re-editing page which
then seems to respect what I've typed.

Anyway, here's a straight response without preview. Let's see how it
turns out!

Paul

Dec 15 '05 #47

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Ray | last post by:
Tried :"python setup.py py2exe and "python setup.py install" Keep getting 'invalid syntax' error messge. Python 2.2 on Win XP Py2exe win32 ver.0.4.1
3
by: Steve Holden | last post by:
Hello. You may be wondering about PyCon DC 2004, the media having been noticeably quiet on the topic recently. You should be seeing an announcement about registration Real Soon Now. The chairman is...
2
by: Piet | last post by:
Hi all, I started programming (or hacking) python some time ago. Since python offers a lot of Win32 specific extensions and since my OS will probably stay Win2k for the next time, I would like to...
16
by: Simon Wittber | last post by:
I've noticed that a few ASPN cookbook recipes, which are recent additions, use classic classes. I've also noticed classic classes are used in many places in the standard library. I've been...
2
by: could ildg | last post by:
I want to know something about unittest these days, and since I'm learning python, I want to touch it through python. But when I found the newest pyunit is even so old, I wonder if it is still...
24
by: John Salerno | last post by:
Since Python does so many things different, especially compared to compiled and statically typed languages, do most of the basic design patterns still apply when writing Python code? If I were to...
12
by: Stef Mientki | last post by:
In the example below, "pin" is an object with a number of properties. Now I want 1- an easy way to create objects that contains a number of these "pin" 2- an multiple way to access these "pin",...
11
by: Kenneth McDonald | last post by:
Any guesses as to how many people are still using Tkinter? And can anyone direct me to good, current docs for Tkinter? Thanks, Ken
1
by: Terry Reedy | last post by:
"Gabriel Genellina" <gagsl-py2@yahoo.com.arwrote in message news:op.ucokc3o6x6zn5v@gabriel2.softlabbsas.com.ar... En Fri, 13 Jun 2008 04:02:48 -0300, Leo Jay <python.leojay@gmail.com> escribió: ...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.