So I try something like this?
widget_style = widget.get_style().copy
widget.set_style(widget_style).bg[STATE_NORMAL] = (1, 0, 0)
But I get this:
TypeError: gtk_widget_set_style, argument 2: expected GtkStyle,
builtin_function_or_method found
Is this the "style's copy() method"?
widget.get_style().copy
One might also think this would work:
widget_style = widget.get_style()
widget.set_style(widget_style).bg[STATE_NORMAL] = (1, 0, 0)
But I get this:
AttributeError: 'None' object has no attribute 'bg'
:-)
Jeff
James Henstridge wrote:
>
> To copy a style, use the style's copy() method. THen using get_style()
> and set_style() you should be able to modify styles as much as you want.
> I don't have a python example of this, but there is an example of doing
> this in my gnorpm package (specifically the checksig.c file).
>
> James.
>
> --
> Email: [EMAIL PROTECTED]
> WWW: http://www.daa.com.au/~james/
>
> On Thu, 3 Jun 1999, J.W. Bizzaro wrote:
>
> > Some of the style-setting functions of gtk are in pygtk, such as
> >
> > widget.set_style(stylename).fg[STATE_NORMAL] = (1, 0, 0)
> > widget.get_style().fg[STATE_NORMAL]
> >
> > But the problem is with "stylename".
> >
> > set_style expects a GdkStyle type to be passed, but how do we get that?
> >
> > Gtk has these 4 functions:
> >
> > gtk_widget_get_default_style ()
> > gtk_style_copy (stylename)
> > gtk_widget_push_style (stylename)
> > gtk_widget_pop_style (stylename)
> >
> > which don't seem to be included in pygtk.
> >
> > What am I to do? I want to switch styles on the fly. I am using a style rc
> > file, as is used with the example testgtk. But I need to switch between them
> > during runtime or be able to change parts of the default style at the very
> > least.
> >
--
J.W. Bizzaro mailto:[EMAIL PROTECTED]
Boston College Chemistry http://www.uml.edu/Dept/Chem/Bizzaro/
--
To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]