473,756 Members | 2,900 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

wxPython worries

I'm starting a new hopfully-commercial project soon, and I face a
dilemma about whether Python with wxPython would be appropriate.

The project has 3 main areas:

a) manipulation of lists and trees, using..
b) a hopefully dead-sexy gui, all in order to...
c) eventually pump out certain bits of the datastructure over the
network in semi-realtime (< 10ms accuracy or so).

The target is Win32 for now (98 - XP). Now, if it were up to me, I'd use
Delphi - it's what I know best. But I'm working with a less experienced
developer with whom I have no languages in common. He's keen to get
started on C#, I've toyed with C# and though it looks easy, I don't see
any major gains over what I already know.

I've read a lot about python and done some mini-stuff in it, and been
impressed with it's ease and conciseness. What worries me is wxPython:
looking at the demo code, it's quite verbose and 'bitty'. I'm also
unclear as to how easy custom controls are to build.

Am I just being confused by my newbie-ness, or are my initial concerns
justified? What's anybody else's experiences with gui programming in
wxPython like vs a RAD like Delphi or .NET?

Thanks,

James.
Jul 18 '05
25 2623
John J. Lee wrote:
I'll make my usual comment, which is that nobody has yet contradicted
me (unusual on USENET ;-) that Qt is the most well-designed Python GUI
framework. (Qt Designer is very good, too.)
I'll second that, and go as far as to say it's a very good GUI framework
no matter how you speak to it.
And, strangely, the PyQt commercial license is far cheaper than (C++)
Qt. $400 for former (Blackadder, from theKompany.com) , $2500-odd for
the latter!
$400 is for preofessional use. For personal use, it's $80, but you lose
the right to distribute your apps (but maybe not if you release them
under the GPL - I should look into that).
I believe Blackadder comes with Python-specific docs for PyQt, but
they're actually completely redundant, IMHO -- it's trivial to
translate the C++ docs to Python code, using the list of exceptions
distributed with PyQt.
You do get a copy of the docs with your BA purchase. The Kompany also
sells the PyQt docs separately for $20 for a one-time purchase, or $70
for a yearly subscription; that is, all updates for one year are included.

Another BTW: their FAQ page still says Blackadder is in beta, but I think somebody here mentioned the final
version was actually released some while back (PyQt itself has been
stable for years, of course).


It is indeed stable. The one thing I don't like about BlackAdder is
BlackAdder itself, the editor portion. It's not terrible - it just
doesn't behave quite like I expect a dedicated Python editor to behave.
I usually create my GUI in the Qt Designer, and then edit the Python
stuff in Eric (Linux) or SciTE (win32).
Jul 18 '05 #11
?????? ? <mk@net.mail.pe nguinista> pisze:
(will not mention that it works on AS/400, the best
minicomputer(!) ever made).


Why is it the best minicomputer ever made?
I really want to know!


Since nobody ever produced any other. Only IBM produced machines that
can be called "midrange" (something between microcomputer and "real
computer", the famous S/390 mainframe). They still use this terminology.

--
Jarek Zgoda
Unregistered Linux User #-1
http://www.zgoda.biz/ JID:zgoda-a-chrome.pl http://zgoda.jogger.pl/
Jul 18 '05 #12
In article <bu**********@a tlantis.news.tp i.pl>,
Jarek Zgoda <jz****@gazeta. usun.pl> wrote:
?????? ? <mk@net.mail.pe nguinista> pisze:
(will not mention that it works on AS/400, the best
minicomputer(!) ever made).


Why is it the best minicomputer ever made?
I really want to know!


Since nobody ever produced any other. Only IBM produced machines that
can be called "midrange" (something between microcomputer and "real
computer", the famous S/390 mainframe). They still use this terminology.

Jul 18 '05 #13
> Why is it the best minicomputer ever made?
I really want to know!


| Since nobody ever produced any other.
| Only IBM produced machines that can be called "midrange"
| (something between microcomputer and "real computer",
| the famous S/390 mainframe). They still use this terminology.

Jarek ....

Honeywell also produced a line of mid-range machines
called the Level 6 minicomputers ....

These machines ran an operating system
which had an internal architecture
and command line interface different from,
but vaguely similar, to Multics, a Honeywell mainframe OS ....

Multics was a major predecessor of Unix,
a euphemism for Multics Without Balls
deemed so by the original developers themselves ....

Without Multics there might not be
any such thing as Unix or Linux ....

You can find the history of Multics at ....

http://www.multicians.org

--
Cousin Stanley
Human Being
Phoenix, Arizona

Jul 18 '05 #14
(will not mention that it works on AS/400, the best minicomputer(!)
ever made).


Why is it the best minicomputer ever made? I really want to know!


Jarek> Since nobody ever produced any other. Only IBM produced machines
Jarek> that can be called "midrange" (something between microcomputer
Jarek> and "real computer", the famous S/390 mainframe). They still use
Jarek> this terminology.

You seem to be forgetting (at least) DEC's VAX line of computers. Data
General and PR1ME had computers classed as "mini" computers also. I'm sure
there were others.

Skip

Jul 18 '05 #15
What is needed is a good "Programmin g wxPython"!
Jul 18 '05 #16
I have recently been trying to build some GUIs with wxWindows. The
first problem that I ran across involved not being able to send and
event from a worker thread to the GUI thread and get the GUI thread to
process the event while the user had a menu pulled down. I wrote a
bug report and this has since been fixed. Tkinter has issues here
also. There is no means for a worker thread to put an event in the
GUI thread.

The second problem that I have run across is that tab order between
controls is the order that controls are added. You can't get tabbing
to skip a control. If you dynamically add/remove controls you can't
achieve your desired tab order.

wxWindows seems like a very impressive work. The demo is certainly
impressive. I also suppose I shouldn't rant to much about something
that is free. However my first two GUIs hit critical problems, and
these were really simple GUIs. Granted, the first problem has been
fixed now, and I have not yet written a bug report on the second.

Tkinter is also giving me problems. I have been trying to add
controls to a canvas and to have a scrollbar that will scroll the
controls on the canvas. I think I have it figured out now, but it is
damn near impossible to figure out from the documentation. I had to
scour the internet looking for solutions.

I have also played with displaying video in both wxWindows and Tk.
I have raw gray scale data simply as a list of values range 0-255.
Using PIL I can easily convert to a format wxWindows and Tk can
display. I get around 30 fps with wxWindows and 15 fps with Tk.
However, all images wxWindows displays must be full 24-bit color. If
the images didn't need to be expanded to (r,g,b) I would expect
signifcant speed up. I don't know why Tk is so much slower.

wxWindows and Tk are the only toolkits that wrap native Windows
controls. The others all emulate controls. I am thinking about
trying out another toolkit.
FOX, FLTK or GTK.

I am having enough trouble convincing people to use Python. I'd never
be able to get my work to purchase Qt. They would prefer to do
everything in VB6.
Jul 18 '05 #17
Hi,
I have recently evaluated wxpython because I am coming from fox (for 3 years)
, but fox lacks GUI designer and wxwindows with wxpython and boa-constructor
seems to solve the problem

Thanks for your advice in wxwindows.

If you want informations about fox I can help you.

Best Regards
steph
Le Vendredi 16 Janvier 2004 07:57, MetalOne a écrit :
I have recently been trying to build some GUIs with wxWindows. The
first problem that I ran across involved not being able to send and
event from a worker thread to the GUI thread and get the GUI thread to
process the event while the user had a menu pulled down. I wrote a
bug report and this has since been fixed. Tkinter has issues here
also. There is no means for a worker thread to put an event in the
GUI thread.

The second problem that I have run across is that tab order between
controls is the order that controls are added. You can't get tabbing
to skip a control. If you dynamically add/remove controls you can't
achieve your desired tab order.

wxWindows seems like a very impressive work. The demo is certainly
impressive. I also suppose I shouldn't rant to much about something
that is free. However my first two GUIs hit critical problems, and
these were really simple GUIs. Granted, the first problem has been
fixed now, and I have not yet written a bug report on the second.

Tkinter is also giving me problems. I have been trying to add
controls to a canvas and to have a scrollbar that will scroll the
controls on the canvas. I think I have it figured out now, but it is
damn near impossible to figure out from the documentation. I had to
scour the internet looking for solutions.

I have also played with displaying video in both wxWindows and Tk.
I have raw gray scale data simply as a list of values range 0-255.
Using PIL I can easily convert to a format wxWindows and Tk can
display. I get around 30 fps with wxWindows and 15 fps with Tk.
However, all images wxWindows displays must be full 24-bit color. If
the images didn't need to be expanded to (r,g,b) I would expect
signifcant speed up. I don't know why Tk is so much slower.

wxWindows and Tk are the only toolkits that wrap native Windows
controls. The others all emulate controls. I am thinking about
trying out another toolkit.
FOX, FLTK or GTK.

I am having enough trouble convincing people to use Python. I'd never
be able to get my work to purchase Qt. They would prefer to do
everything in VB6.

Jul 18 '05 #18
Jarek Zgoda fed this fish to the penguins on Thursday 15 January 2004
10:12 am:


Since nobody ever produced any other. Only IBM produced machines that
can be called "midrange" (something between microcomputer and "real
computer", the famous S/390 mainframe). They still use this
terminology.

The late DEC might want to take you up on that... The VAX series was
commonly billed as a "super-Mini", not a mainframe, and definitely not
a micro. Micro's were the Altair, Ohio Scientific, Sphere, Apple-II,
TRS-80... Mainframes were IBM (360+), SDS/Xerox Sigma, Univac,
Burroughs...

-- =============== =============== =============== =============== == <
wl*****@ix.netc om.com | Wulfraed Dennis Lee Bieber KD6MOG <
wu******@dm.net | Bestiaria Support Staff <
=============== =============== =============== =============== == <
Bestiaria Home Page: http://www.beastie.dm.net/ <
Home Page: http://www.dm.net/~wulfraed/ <


Jul 18 '05 #19
MetalOne wrote:
[snip]
Tkinter has issues here
also. There is no means for a worker thread to put an event in the
GUI thread.
We've successively used the event_generate method on Tkinter widgets from worker
threads to communicate with the main thread. You can also have less
straightforward solutions involving the main thread regularly checking for a
Queue or Event (using the after method) to get events from the worker threads.
So you definitely can't say there's "no means" to do it. But it's clearly not as
easy as it should.

[snip] Tkinter is also giving me problems. I have been trying to add
controls to a canvas and to have a scrollbar that will scroll the
controls on the canvas. I think I have it figured out now, but it is
damn near impossible to figure out from the documentation. I had to
scour the internet looking for solutions.


The documentation is clearly the main problem with Tkinter. It's not really that
there's not enough, but useful information must be gathered from too many places...

The best places are:
- For beginners, "Thinking in Tkinter" from Stephen Ferg:
http://www.ferg.org/thinking_in_tkinter/index.html
- Tkinter demos in the Python distribution: unfortunately one of Tkinter's best
kept secrets. Just go to <Python root>/Demo/tkinter and look at the scripts.
I've learnt a lot from them, even if they're far from perfect (where on earth
did they get the idea to make all their application inherit from Frame?!)
- "An introduction to Tkinter" from Fredrik Lundh:
http://www.pythonware.com/library/tk...tion/index.htm - very useful,
but unfortunately incomplete...
- And finally the man pages for tcl/tk: http://www.tcl.tk/man/ - only useful
once you've practiced a bit, since you must know how to translate tcl/tk to
Python/Tkinter to be able to use it.

The book "Python and Tkinter programming" from John Grayson seems interesting,
but I never used it myself. You can get an idea of its contents and download the
example scripts here: http://www.manning.com/grayson/

HTH
--
- Eric Brunel <eric dot brunel at pragmadev dot com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com

Jul 18 '05 #20

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

Similar topics

7
11907
by: SeeBelow | last post by:
Do many people think that wxPython should replace Tkinter? Is this likely to happen? I ask because I have just started learning Tkinter, and I wonder if I should abandon it in favor of wxPython. Mitchell Timin -- "Many are stubborn in pursuit of the path they have chosen, few in
25
3356
by: BJörn Lindqvist | last post by:
See: http://www.wxpython.org/quotes.php. especially: "wxPython is the best and most mature cross-platform GUI toolkit, given a number of constraints. The only reason wxPython isn't the standard Python GUI toolkit is that Tkinter was there first." - Guido van Rossum Guess, that answers my question, but isn't "Tkinter was there first" a very bad answer? :) It is kinda ugly too, so I wonder why it can't be replaced? Or maybe another GUI...
1
2569
by: timothy.williams | last post by:
I'm trying to install wxPython 2.5.3.1 using Python 2.3.2 on a Fedora 2 machine. I have python in a non-standard place, but I'm using --prefix with the configure script to point to where I have everything. The make install in $WXDIR seemed to go fine. I have the libxw* libraries in my lib/ directory libwx_base-2.5.so@ libwx_gtk_adv-2.5.so.3.0.0* libwx_base-2.5.so.3@ libwx_gtk_core-2.5.so@
1
2984
by: James Stroud | last post by:
Hello All, I will soon have an excuse to install a new operating system on my computer. I would like to know exactly what operating system I should have so that I can get wxPython going. wxPython is my only hold-out on my current system. wxPython seems to need gnome. So I have tried to build garnome and it didn't build all the way..and, well, I've tried so many things trying to get wxPython built that I really don't care to relive the...
25
4280
by: TPJ | last post by:
GUI's etc: PyGtk on Windows "(...) So if someone develops mainly for X and just wants to make sure that it is not impossible to run on Windows, you can use PyGTK. (...)", July 2nd, 1999 pyGTK on Windows "(...) > can i use pyGTK under > Windows???
4
4125
by: tobfon | last post by:
I'm creating a scientific visualization application with rather high demands on performance. I've created a nice rendering engine for it in C++/OpenGL and a python interface to the rendering engine. Now I'm looking to build a GUI in python with the rendering engine as an integrated window. I will most likely use wxPython for the GUI and I know it has support for adding an OpenGL canvas. After looking around in these groups and others it...
0
1661
by: Robin Dunn | last post by:
Announcing ---------- The 2.6.3.0 release of wxPython is now available for download at http://wxpython.org/download.php. There have been many enhancements and fixes implemented in this version, many of which are listed below and at http://wxpython.org/recentchanges.php. What is wxPython?
0
1538
by: Robin Dunn | last post by:
Announcing ---------- The 2.6.3.0 release of wxPython is now available for download at http://wxpython.org/download.php. There have been many enhancements and fixes implemented in this version, many of which are listed below and at http://wxpython.org/recentchanges.php. What is wxPython?
4
2987
by: stef | last post by:
hello, I'm trying to move from Delphi to Python (move from MatLab to Python already succeeded, also thanks to this discussion group). From the discussions in this list about "the best" GUI for Python, it now seems to me that wxPython is thé choice for my kind of applications. I've no experience with wxPython yet, I just run a few examples and indeed it looks good (as expected from the
0
9456
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9275
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9872
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9843
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
6534
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5304
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3805
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3358
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2666
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.