I started into a project in Python,Tkinter. I have a button that I have two images for. I know buttons include the "-relief" option so I can get rid of the border. Now I'm trying to get rid of the click animation border, and have the image on the button change when clicked.
Thanks in advanced.
So I was struck by inspiration moments ago. I decided to replace buttons with canvases bound with a <Button-1> event to imitate a button.
def NewGame(event): NewButton.place_forget() LoadButton.place_forget() CreditsButton.place_forget() New() def ClickNew(event): for x in NewButton.find_all(): NewButton.delete(x) ImageNew = ImageTk.PhotoImage(Image.open("New Click.PNG")) NewButton.create_image(0,0,anchor=NW,image=ImageNew) NewButton.image = ImageNew ImageNew = ImageTk.PhotoImage(Image.open("New.PNG")) NewButton = Canvas(canvas, width = 144, height = 50) NewButton.place(x=50,y=175) NewButton.create_image(0,0,anchor=NW,image=ImageNew) NewButton.image = ImageNew NewButton.bind("<Button-1>",ClickNew) NewButton.bind("<ButtonRelease-1>",NewGame)
Which works to allow an image change on click. If there is a way for this to be done with a button, I would still be interested. If not, then this code can still help others.
Edited by Thropian: n/a
Just one idea how you do this ...
# toggle a Tkinter button up/down # using images and no button border # tested with Python 2.7 and Python 3.2 by vegaseat try: # Python2 import Tkinter as tk except ImportError: # Python3 import tkinter as tk def action(toggle=[True]): """ toggle the button with up/down images, using a list element as static variable """ if toggle: button.config(image=image_down) toggle = False else: button.config(image=image_up) toggle = True root = tk.Tk() root.title("up/down button no border") # pick GIF images you have in the working directory # or give full path image_up = tk.PhotoImage(file='up.gif') image_down = tk.PhotoImage(file='down.gif') # create a button to display the image # use bd or borderwidth zero for no border # start with button image up button = tk.Button(root, image=image_up, bd=0, command=action) # position the widgets button.grid(row=1, column=1, padx=130) root.mainloop()
ooh, this looks fun. Now how would it be in wx...?
I have a problem to get unique values from dateperiod-loop.
There is a tons of examples how to do it, but after hours of searching, i couldn't find suitable ...
Good man James helped me learn die roll board game programming in Java,
and I applied it on Ladders and Snakes. Made one in Java. Now I'm learning to do ...
Hello everyone hope you are doing well, i was busy these days i was having problem with the police in my country, they catch me smoking weed and now i ...