Forum >> Programmazione Python >> GUI >> Creare una matrice e pulsanti per cambiare il colore della matrice

Pagina: 1

Ciao a tutti sono nuovo di Python e della programmazione seguendo qualche piccolo corsetto ho capito a grandi linee il linguaggio e sto cercando di creare qualche semplice programmino cercando di scriverlo con meno righe possibile.



In questo caso ho provato ad partire da una tupla e un ciclo for per creare la matrice. Successivamente sono andato a creare il pulsante e qui la mia difficoltà è quella di utilizzare il comando per cambiare il colore della singola cella in quanto non riesco a richiamare la cella stessa (insomma ho creato le celle ma non so con quale nome). Ho provato anche a editare il nome ma forse sbaglio qualcosa. Vi copio il codice




import tkinter as tk

cards = ("AA", "AKs", "AQs", "AJs", "ATs", "A9s", "A8s", "A7s", "A6s", "A5s", "A4s", "A3s", "A2s", "AKo", "KK", "KQs", "KJs", "KTs",
"K9s", "K8s", "K7s", "K6s", "K5s", "K4s", "K3s", "K2s", "AQo","KQo","QQ","QJs","QTs","Q9s","Q8s","Q7s","Q6s","Q5s","Q4s","Q3s",
"Q2s","AJo","KJo","QJo","JJ","JTs","J9s","J8s","J7s","J6s","J5s","J4s","J3s","J2s","ATo","KTo","QTo","JTo","TT","T9s","T8s","T7s","T6s","T5s","T4s",
"T3s","T2s","A9o","K9o","Q9o","J9o","T9o","99","98s","97s","96s","95s","94s","93s","92s","A8o","K8o","Q8o","J8o","T8o","98o","88","87s","86s","85s",
"84s","83s","82s","A7o","K7o","Q7o","J7o","T7o","97o","87o","77","76s","75s","74s","73s","72s","A6o","K6o","Q6o","J6o","T6o","96o","86o","76o","66",
"65s","64s","63s","62s","A5o","K5o","Q5o","J5o","T5o","95o","85o","75o","65o","55","54s","53s","52s","A4o","K4o","Q4o","J4o","T4o","94o","84o","74o",
"64o","54o","44","43s","42s","A3o","K3o","Q3o","J3o","T3o","93o","83o","73o","63o","53o","43o","33","32s","A2o","K2o","Q2o","J2o","T2o","92o","82o",
"72o","62o","52o","42o","32o","22")

root = tk.Tk()

x=0
y=0
z=0

for i in cards:
if x==13 and y<12:
y = y + 1
x=0
label = cardsz
label = tk.Label(root, text=i, bg="black", fg="white", width=4, height=2)
x=x+1
z=z+1

label.grid(row=y, column=x)



def BUTTONclick():
AA.config(bg="red")

BUTTON = tk.Button(root, text = "ROSSO", command=BUTTONclick)
BUTTON.grid(row=2, column=15)



root.mainloop()




Grazie per i vostri consigli <3
Ciao,
Se ho capito bene tu vorresti creare un pulsante per ogni singola cella, giusto?




Se fosse così dovresti creare una nuova lista dentro a cui mettere le varie celle:




# crei la nuova lista all'inizio del programma, dopo la tupla
celle = []

# dentro al ciclo for che usi per creare le celle le inserisci anche dentro alla lista
for i in cards:
	# qui ci va il codice che serve per creare le celle
	label = tk.Label(*parametri che vuoi passare*)
	celle.append(label)

#quando definisci la funzione per cambiare colore scrivi questo
def buttonClick():
	celle[*indice della cella*].configure(background="red")
Altrimenti, se vuoi un pulsante per tutte le celle, usi un ciclo for:

#quando definisci la funzione per cambiare colore scrivi questo
def buttonClick():
	for cella in celle:
	cella.configure(background="red")
Fammi sapere se funziona,
ciao




--- Ultima modifica di Il Linuxino in data 2020-06-08 17:44:06 ---


Pagina: 1



Esegui il login per scrivere una risposta.