Ir para conteúdo
Fórum Script Brasil
  • 0

(iniciante) Referência entre objetos Tkinter


Sachiel

Pergunta

Olá pessoal!

Sou novato no Python e nas linguagens orientadas a objeto. Eu só conhecia 'C' e 'GML' (que é a linguagem usada no software GameMaker).

Estou aprendendo Python por conta própria, e agora estou me aventurando na engine gráfica Tkinter.

No caso, estou com problema no seguinte código:

from tkinter import *

def comando():
    pass #---------------------------------- Aqui está o inferno!!!


janela=Tk()
janela.geometry('640x480')
janela.title("Titulo da janela")

quadro=Canvas(janela,width=320,height=240,bg="white")


coord = 10,10,150,150
pizza=quadro.create_arc(coord, start=45, extent=270, fill="yellow")

r=10
a=60
b=50
coord = a-r,b-r,a+r,b+r
olho=quadro.create_oval(coord,fill="black")


botao=Button(janela,text="Banana",command=comando)
botao.pack()


quadro.pack()

janela.mainloop()

O que eu PENSO que estou fazendo?

Estou criando uma "janela" grande, que possui dentro dela um "botao" e um canvas branco pequeno chamado "quadro". Esse quadro possui um setor circular amarelo chamado "pizza" e uma bola preta chamada "olho", formando um PAC-MAN

Quando o botão é clicado, ele realiza o comando que eu chamei, convenientemente, de "comando".

Fica com essa cara: http://img607.imageshack.us/img607/5827/imagemdq.jpg

Onde está o problema?

Não consigo criar nenhum comando para o botao que afete nenhum parâmetro de nenhum dos objetos! Eu não consigo criar um comando que troque o parametro "start" do setor amarelo, nem a posição do círculo preto, nem o tamanho do meu 'canvas' chamado de 'quadro', nem nada.

No geral, eu não consigo fazer uma coisa referenciar outra...

Se alguém puder ajustar meu código para que o botão faça algo simples, como mudar a cor do Pac-man, ou mudar a angulação dele, ou qualquer coisa boba assim, eu agradeço muito!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

exemplo

import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.QUIT = tk.Button(self, text="QUIT", fg="red",
                                            command=root.destroy)
        self.QUIT.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()

veja mais em

http://docs.python.org/release/3.3.0/library/tkinter.html

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...