[Python-3000] Requirements for a standard GUI library
Terry Reedy
tjreedy at udel.edu
Fri May 5 21:46:42 CEST 2006
"Greg Ewing" <greg.ewing at canterbury.ac.nz> wrote in message
news:44596963.8070200 at canterbury.ac.nz...
> Terry Reedy wrote:
>
>> -the ability to ignore platforn standards and give an app a unique look
>> and
>> feel. A start on this, for instance, is being able to give dialog boxes
>> a
>> custom background instead of uniform gray or whatever.
I should note first that I have no particular expectation that PyGUI will
meet my wish list.
> You can do this in PyGUI by adding a View that fills the
> whole window and then adding your controls to that. You
> can draw whatever background you want in the View.
I have read the online PyGUI docs, but it is not obvious how to set a View
background. My only guess is to call .invalidate(), then
with_convas(back_draw), where back_draw(canvas) paints either an Image or
Pixmap onto canvas with the [NOT YET IMPLEMENTED] .image(args) method.
Canvas.image seems to be your name for the basic bitblt operation. One
cannot do much graphical stuff beyond the basics without it.
It is also not clear how one might get a PIL or NumArray image into your
system. Changing widget appearance is, I know, more difficult.
>> -the ability to shift to full-screen mode.
>
> If I add some way of removing the menu bar, and finding
> out the size of the screen, then you could create a window
> that fills the whole screen. Would that be sufficient?
If you can make the entire screen blank, either black or white, without
borders, then probably yes for static graphics (although Windows might
still pop up notices occasionally). I suspect that dynamics apps run
faster when all other apps are disconnected from the screen.
But of course, the cross-platform C code to do this already exists. PyGame
wraps one such. I have no idea how well PyGUI works with PyGame compared
to other GUIs. I may ask sometime on their list (or gmane group).
I guess what I would really like to see is an integrated Python Media And
Graphics Interface package that does windows, work widgets, 2-d and 3-d
graphics, video, and sound. Perhaps the proposed multi-dimensional array
interface would help existing compenents work better together.
Terry Jan Reedy
More information about the Python-3000
mailing list