skins in wxPython

Hello all,

I would like to write the GUI for a project I am
working on in wxPython, but before commiting myself to
it I would like to know if what I want to do is at all
possible.

The only requirement that does not seem to be met by
wxPython is for it to be skinnable. I thought about
writing some custom controls for making buttons and
sliders made of bitmaps (I think there are already
such buttons in wxPython.lib), but when it comes to
text areas and list controls it seems to become quite
a formidable task.

What in particular I require is to be able to replace
the vertical scrollbar of text areas and list controls
with a custom scrollbar of a different graphic design.
How difficult/impossible should this be to do in
wxPython?

If it is possible, how should it be done, and if
impossible, what are the alternatives?

Does anyone know of anything that may have already
been done in this direction?

Thanks,

Joe.

···

__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com

Joachim Boomberschloss <boomberschloss@yahoo.com> writes:

<snip/>

The only requirement that does not seem to be met by
wxPython is for it to be skinnable. I thought about

I can use themes with it quite well on Linux and Windows XP. The
problem is that they affect other applications as well and not only my
program.

<snip/>

If it is possible, how should it be done, and if
impossible, what are the alternatives?

If you can work with themes...

Be seeing you,

···

--
Godoy. <godoy@ieee.org>

Hello all,

I would like to write the GUI for a project I am
working on in wxPython, but before commiting myself to
it I would like to know if what I want to do is at all
possible.

The only requirement that does not seem to be met by
wxPython is for it to be skinnable. I thought about
writing some custom controls for making buttons and
sliders made of bitmaps (I think there are already
such buttons in wxPython.lib), but when it comes to
text areas and list controls it seems to become quite
a formidable task.

What in particular I require is to be able to replace
the vertical scrollbar of text areas and list controls
with a custom scrollbar of a different graphic design.
How difficult/impossible should this be to do in
wxPython?

If it is possible, how should it be done, and if
impossible, what are the alternatives?

wx is generally unsuited for skinning. One of wx's main design goals
is native look and feel and the sort of skinning you're talking about
conflicts with that.

You can give wxUniversal a try, which uses generic (rather than
native) widgets. Or you could look at one of the rendered (rather than
native) toolkits. If you either have the money or don't need to deploy
on Windows, Qt may be acceptable.

If it were just buttons I'd say go ahead and stick with wx but you've
got a lot of work ahead of you if you need custom scrollbars on list
and text controls, because you'll need to re-implement not only the
scrollbar but also any control that uses your scrollbar.

···

On Tue, 16 Nov 2004 01:25:38 -0800 (PST), Joachim Boomberschloss <boomberschloss@yahoo.com> wrote:

Does anyone know of anything that may have already
been done in this direction?

Thanks,

Joe.

wx is generally unsuited for skinning. One of wx's main design goals
is native look and feel and the sort of skinning you're talking about
conflicts with that.

There are also many users like me who get really annoyed at all these
skinned apps. They are usually very awkward to use and only look nice
on the developer's computer. (It is very hard to make something look
and work well on low res screens and high res screens. The native toolkit
has already done that, and skinning throws that away).

Additionally skinned apps typically don't implement accessibility
so you immediately make your app unusable to people who use screen
reading/navigation software, magnifiers, colour blind etc.

And skinning doesn't make the app more usuable. In fact it makes
things worse since the user has to learn how to use your app and
how to interpret the output since it is different than normal.

So go ahead if you hate your users and want to make their experience
horrible, as well as cutting off sections of society.

Or you can just use what the user already set up for their OS that
suits them.

Roger