http://pastebin.com/piCzf2sT

when put a token in vertical that the main windows is full appear all the line in selected color and not only one, anyone can know why?

I don't understand the game or what it is supposed to do, but you call clearbotones from c (button press). Shouldn't the color be set in c instead of creating new buttons each time? Hint, you use boton[] list. Add a print statement to clearbotones to print each time the new buttons are created and the bg color of the button, so you can see what is happening. Also you can create the buttons in a loop

       for j in range(abs(posH), abs(posH)+7):
            texto = str(matriz[i][j])

            btn = tk.Button(mainFrame,text="",bg="white",width=10,
                                height=5,fg="black",relief=tk.GROOVE,.
                                command=lambda:[c(abs(posH)+num)])

an example using a 3X3 grid which just changes the background color of the clicked button. This employs a dictionary, but you could use a list just as easily. And a class avoids all of the messy globals

from Tkinter import *
from functools import partial

class ButtonTest:
   def __init__(self):
      self.top = Tk()
      self.top.geometry("150x145+10+10")
      self.button_dic = {}     ## pointer to buttons and StringVar()
      self.top.title('Buttons TicTacToe Test')
      self.top_frame = Frame(self.top, width =500, height=500)
      self.buttons()

      self.top_frame.grid(row=0, column=1, sticky="WE")
      for ctr in range(0, 3):   ## configure all columns to the same size
         self.top_frame.grid_columnconfigure(ctr, minsize=50)
         self.top_frame.grid_rowconfigure(ctr, minsize=37)

      exit = Button(self.top_frame, text='Exit', \
             command=self.top.quit).grid(row=10,column=0, columnspan=5)

      self.top.mainloop()

   ##-------------------------------------------------------.
   def buttons(self):
      """ create 9 buttons, a 3x3 grid
      """
      for j in range(1, 10):
         sv=StringVar()
         sv.set(j)
         b_row, b_col = divmod(j-1, 3)
         b = Button(self.top_frame, textvariable=sv, \
                    command=partial(self.cb_handler, j), bg='white')
         b.grid(row=b_row, column=b_col, sticky="WENS")
         self.button_dic[j]=b ## button number-->Tkinter ID

   ##----------------------------------------------------------------
   def cb_handler(self, square_number):
       print square_number, "pressed"
       self.button_dic[square_number].config(bg="red")


##===================================================================
BT=ButtonTest()
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.