Python Forum
Need tkinter help with clicking buttons
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need tkinter help with clicking buttons
#1
In the code below I have images of 3 dice (1,2,3) randomly selected and I have the on_click method in place to change the background to red for that die whenever the button for that die is clicked. However, I also want to print the value of that die when it is clicked. For example if 2 is clicked I want to print 2. What is happening when I click on one die it prints the value of all 3 dice randomly selected. So if the 3 random dice selected were 2,3,1 and I click on 2 it prints [[2], [3], [1]] instead of just 2. What do I need to change in my on_click method to fix this?
import random
from tkinter import *
from PIL import ImageTk, Image
import tkinter as tk
from tkinter import messagebox
from tkinter import simpledialog
from tkinter.messagebox import showinfo

root = Tk()


def on_click(event):
    event.widget.config(bg='red')

    buttons = [btn1, btn2, btn3]

    diceclicked = []
    for b in buttons:
        diceclicked.append([value for (key, value) in r.items() if b.cget('image') == key])
    print(diceclicked)

global dice1
dice1 = ImageTk.PhotoImage(Image.open("C:\\Users\\Dan\\Desktop\\Alea_1.png"))

global dice2
dice2 = ImageTk.PhotoImage(Image.open("C:\\Users\\Dan\\Desktop\\Alea_2.png"))

global dice3
dice3 = ImageTk.PhotoImage(Image.open("C:\\Users\\Dan\\Desktop\\Alea_3.png"))


r = {'pyimage1':1,'pyimage2':2,'pyimage3':3}

dice = [dice1,dice2,dice3]

rdice = random.choice(dice)
rdice2 = random.choice(dice)
rdice3 = random.choice(dice)


btn1 = Button(root, image=rdice)
btn1.pack()
btn1.bind('<Button-1>', on_click)

btn2 = Button(root,image=rdice2)
btn2.pack()
btn2.bind('<Button-1>', on_click)

btn3 = Button(root,image=rdice3)
btn3.pack()
btn3.bind('<Button-1>',on_click)

root.mainloop()
Reply


Messages In This Thread
Need tkinter help with clicking buttons - by pythonprogrammer - Dec-30-2019, 05:02 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Clicking on the button crashes the TK window ODOshmockenberg 1 2,277 Mar-10-2022, 05:18 PM
Last Post: deanhystad
  tkinter toggle buttons not working Nu2Python 26 7,259 Jan-23-2022, 06:49 PM
Last Post: Nu2Python
  TkInter Binding Buttons ifigazsi 5 4,560 Apr-06-2020, 08:30 AM
Last Post: ifigazsi
  Issue on tkinter with buttons Reldaing 1 2,471 Jan-07-2020, 08:21 AM
Last Post: berckut72
  Tkinter Buttons action d3fi 1 2,030 Nov-20-2019, 09:16 PM
Last Post: Larz60+
  Nesting menu buttons tkinter for python Mocap 1 2,753 Jul-18-2019, 11:46 AM
Last Post: metulburr
  tkinter- adding a new window after clicking a button built on the gui ShashankDS 2 6,667 Apr-18-2019, 12:48 PM
Last Post: ShashankDS
  [Tkinter] Adding New TAB to NoteBook Widget by Clicking Vicolas 0 2,646 Feb-15-2019, 06:03 PM
Last Post: Vicolas
  [Tkinter] Clicking a RadioButton in a for Loop & Getting the Appropriate Return Vicolas 1 5,194 Feb-02-2019, 01:53 AM
Last Post: woooee
  [Tkinter] Close Toplevel after clicking button jollydragon 3 10,688 Jul-12-2018, 06:22 AM
Last Post: jollydragon

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020