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.
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 :[color=blue]
> 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.[/color]
Jarek Zgoda fed this fish to the penguins on Thursday 15 January 2004
10:12 am:
[color=blue]
>
> 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.
>[/color]
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...
--[color=blue]
> =============== =============== =============== =============== == <
> wlfraed@ix.netc om.com | Wulfraed Dennis Lee Bieber KD6MOG <
> wulfraed@dm.net | Bestiaria Support Staff <
> =============== =============== =============== =============== == <
> Bestiaria Home Page: http://www.beastie.dm.net/ <
> Home Page: http://www.dm.net/~wulfraed/ <[/color]
MetalOne wrote:
[snip][color=blue]
> Tkinter has issues here
> also. There is no means for a worker thread to put an event in the
> GUI thread.[/color]
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][color=blue]
> 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.[/color]
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:
- 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
Cousin Stanley fed this fish to the penguins on Thursday 15 January
2004 12:33 pm:
[color=blue]
>
> Honeywell also produced a line of mid-range machines
> called the Level 6 minicomputers ....
>[/color]
Ack... the infamous Level-6...
My college (now a university) mainframe was a Xerox Sigma-6 (Honeywell
bought out the Xerox line; of course, the Xerox line was bought out
from SDS, which was created by a bunch of IBM renegades -- hence the
use of EBCDIC rather than ASCII <G>). We had a lot of Gandalf
communication racks to handle the terminals (only n-of-M terminals
could be live at a time, the Gandalf stuff controlled allocating
terminals to the mainframe).
One year Honeywell persuaded the college that a Level-6 could be used
to replace most of the inflexible Gandalf gear... As I recall, it was
obtained with pretty much no OS or software -- a system definition file
for the Sigma's Meta-Symbol assembler was used to produce absolute
level-6 binary files (Meta-Symbol was an assembler that did not know
/any/ instruction set natively -- even the Sigma instruction set had to
be loaded using a system definition file -- though "standard
instruction formats" did have predefined "control macros". One defined
an instruction via declarations of the form:
LD cmd,2,3,3 b'01',af(1),af( 2)
[note -- that's actually an 8080 MOV instruction masquerading as a
LoaD... cmd defined #bits per field, then we list a constant,
ArgumentField(p osition)...]).
Back to the Level-6... It worked great as a terminal server... until
the heat built up...
Apparently the main PC cards were mounted horizontally. When they got
warm they'd sag... Whoops, there went the connections to the
backplane... When it came back on-line one often found their terminal
was now connected to a totally different user's process. I once ended
up with a local high-school's account (they were on one of the /five/
dial-up modems that were available).
--[color=blue]
> =============== =============== =============== =============== == <
> wlfraed@ix.netc om.com | Wulfraed Dennis Lee Bieber KD6MOG <
> wulfraed@dm.net | Bestiaria Support Staff <
> =============== =============== =============== =============== == <
> Bestiaria Home Page: http://www.beastie.dm.net/ <
> Home Page: http://www.dm.net/~wulfraed/ <[/color]
On Friday 16 January 2004 04:57 MetalOne wrote in
<92c59a2c.04011 52257.5b93167b@ posting.google. com>:
[color=blue]
> 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.[/color]
I think that ranting is good *IF* it has a bug report to the
developers to back it up.
Developers can't imagine all the uses people will do from their work
and they need to know what happened when you tried doing something so
that they can help you: fixing the problem, pointing another way of
doing it or even saying that it can't be done and making you stop
loosing your time trying to figure out what you can do :-)
With regards to the notebooks page, have you seen that there are two
methods: AddPage and InsertPage? With InsertPage you can specify the
position where the page is to be inserted, putting them on the
desired order. But I don't know if you already tried that and it
didn't do what you expected...
Cameron Laird <claird@lairds. com> pisze:
[color=blue][color=green][color=darkred]
>>> Why is it the best minicomputer ever made?
>>> I really want to know![/color]
>>
>>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.[/color]
> .
> .
> .
> Sneaky, Jarek; but there were a LOT of "minicomput er"
> manufacturers, including DEC, Data General, HP, Prime,
> ...[/color]
Oops! It seems I'm too young to make such authoritative statements, my
adventure with computers started in mid-80's. So, please, take my
apologies for inconvenience.
дамјан г. wrote:[color=blue][color=green]
>>(will not mention that it works on AS/400, the best
>>minicomputer( !) ever made).[/color]
>
>
> Why is it the best minicomputer ever made?
> I really want to know!
>
>[/color]
HP/3000, taken off the sales list last Halloween.
A joy to work with.
Believe it or not, it was ported to run as a UNIX emulator in the '80s,
so it could be available forever, but HP's politics killed it.
Gresham's law applied to computing: bad software drives out good.
(Perl vs Python, et cetera, et cetera).
OS-wise an incredible innovative and visionary machine,
programming-wise you had .NET (read as: multi-language
runtime-environment) since more than a decade. unequaled productivity
for business application development with the usual triple
dialog-processing - business logic - database.
if only it had more cool ILE-languages than RPG, CL, Cobol and a
poorly supported C/C++.
btw.: there is even a python port for the AS/400, but even if CL as
ugly as a nightmare it can't be beaten in terms of productivity on an
AS/400.
Frank Bechmann <fBechmann@web. de> pisze:
[color=blue]
> btw.: there is even a python port for the AS/400, but even if CL as
> ugly as a nightmare it can't be beaten in terms of productivity on an
> AS/400.[/color]
Yes, htpp://www.iseriespyth on.com/. Discovery of existence of Python for
iSeries made me switch back to AS/400 from Unix.
Comment