On 23/11/11 17:09, James Reynolds wrote:
However, as far as your question. For the two functions, you could
subclass Button and add them to your new Button object:
(untested)
class MyButton(Button):
button_color="green"
button_value=False
But I'd move these into __init__() since otherwise all buttons will have
the same color/value. Usually we want to change color/value of each
button independently.
Also the button_ bit is redundant because they are now attributes of a
Button, so we don;t need to repeat that in the name.
def __init__(self, *args, **kwargs):
super(Button, self).__init__(*args, **kwargs)
self.color="green"
self.value=False
So this becomes:
def change_value_and_color(self):
self.button_value = not self.button_value
self.value = not self.value
if self.button_value:
if self.value:
self.button_color="red"
self.color="red"
self.configure(bg=self.button_color, text="Hi_2")
> self.configure(bg=self.color, text="Hi_2")
else:
self.button_color="green"
self.color="green"
self.hello_bttn1.configure(bg=self.button_value, text="Hi_1")
> self.configure(bg=self.color, text="Hi_2")
But notice both self.configure lines are identical (assuming the second
is not really supposed to be setting the background to value...)so we
can pull them out of the if/else and add them after:
self.configure(bg=self.button_color, text="Hi_2")
def button_clicked(self):
""" This method runs if button one is clicked"""
self.change_value_and_color()
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor