buton na olay ekleyemiyorum

Başlatan yildiz, 26 Mayıs 2018 - 15:49:04

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yildiz

# -- coding: cp1254 --

from Tkinter import *
import random

dugmeler = []
satir , sutun = 12, 12
degerliste = [1 for x in range(satir*sutun)]
renk = ["red","yellow"]


def tablaolustur(satno, sutno):

    sol, ust, aralik  = 100, 100, 15
    genislik, yukseklik = 80, 30
    for i in range(sutno):
        for j in range(satno):
            a = i*satno+j
            dugmeler.append(Button(form))
            dugmeler[a].config( text = u"Düğme"+str(a+1), bg=renk[0])
            dugmeler[a].config(command = lambda btnno = a : degistir(btnno))
            dugmeler[a].place(x=sol + i*genislik+aralik, y=ust+j*yukseklik+aralik)

def degistir(x):
    bosliste = []
    satirno = x % satir
    sutunno = x / satir
#    for b in [z for z in range(satirno - 1, satirno+2) if z>=0 and z<satir]:
    for b in [z for z in range(satirno - 1, satirno+2) if z in range(0,satir)]:   
        #for a in [y for y in range(sutunno - 1, sutunno+2) if y>=0 and y<sutun]:
        for a in [y for y in range(sutunno - 1, sutunno+2) if y in range(0,sutun)]:           
            bosliste.append(a*satir+b)
    for eleman in bosliste:
##
##        if dugmeler[eleman]["bg"] == "yellow":
##            dugmeler[eleman].config(bg = "red")
##        else:
##            dugmeler[eleman].config(bg = "yellow")
### Yukarıdaki kod yerine aşağıdaki tek satır
       
        dugmeler[eleman]["bg"] = renk[(renk.index(dugmeler[eleman]["bg"])+1)%2]       
        degerliste[eleman] = (2**degerliste[eleman])%2       
        if sum(degerliste) in [0, satir*sutun]:
            print "oyun bitti"   

form = Tk()
form.geometry("1200x1200+100+100")
tablaolustur(satir,sutun)
isimSor = Label(form)
isimSor.config(text = u"Geri alınmasını istediğiniz hamle sayısı")
isimSor.pack()

isim = Entry(form)
isim.pack()

buton = Button(form)
buton.config(text = u"Geri Al", command = form)
buton.pack()
sonuc = Label(form)

sonuc.pack()
mainloop()


bu uyggulama da geri al butonunda butona tıklandığında yapılan işlemlerin geri alınmasını istiyorum ama olmuyor yardımcı olurmusunuz  :-\ :-\