Paulo Pimenta Postado Dezembro 13, 2006 Denunciar Share Postado Dezembro 13, 2006 Ola galera sou iniciante em python e não estou conseguindo pegar a string de um entry, o python retorna o erro de que o objeto não tem attribute getfrom Tkinter import *from process import *class processInterface: def __init__(self, master): self.labelTitle = Label(master, text="Title").grid(row=0, sticky=W) self.labelDescription = Label(master, text="Description").grid(row=1, sticky=W) self.entryTitle = Entry(master).grid(row=0,column=1) self.entryDescription = Entry(master).grid(row=1,column=1) self.buttonSave = Button(master, text="Save", command=self.save).grid(row=2,columnspan=2, sticky=W+E+N+S) #grid_forget() or grid_remove() remove o widget porem pode aparecer de novo def save(self): print self.entryTitle.get()Considerem que tudo esteja identado normalmenteObrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleyton p sales Postado Dezembro 17, 2006 Denunciar Share Postado Dezembro 17, 2006 bom, penso que com Entry funcione em 3 passos:#-------1 - você tem que fazer uma variavel no Tkinter para ele trabalhar com string:self.titulo=StringVar()#--------2 - qd você for criar a entrada, diz que string ela ira se associar para manipulacao:self.addTitulo=Tkinter.Entry(master, textvariable=self.titulo).grid(......#--------3 - qd quiser obter o que esta escrito na entrada:stringPego=self.titulo.get()olha fiz esse exemplo para você:import Tkinterroot=Tkinter.Tk()nome=Tkinter.StringVar()Tkinter.Entry(root,textvariable=nome).pack()def pegar():------- a=nome.get()------- print aTkinter.Button(root,text='obter',command=pegar).pack()root.mainloop()falou,duvidas pode mandar, não sei muito, mas sabendo...compartilhar é o caminho do que é livre!(mascotet@hotmail.com) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Pimenta Postado Dezembro 18, 2006 Autor Denunciar Share Postado Dezembro 18, 2006 então tentei esse metodo e não da certo, o StringVar com () ele não aceita, então usei sem, dai funfou, porem na hora de dar o get na variavel StringVar ele acusa um erro de unbound......não é possivel, deve ter um jeito mais facil, em python é tudo mais facil, porque não simplesmente dar um get e pronto..hehealguém tem alguma dica?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Pimenta Postado Dezembro 18, 2006 Autor Denunciar Share Postado Dezembro 18, 2006 from Tkinter import *from process import *class customerInterface: value=None nameEntry = None def __init__(self, master): self.value = StringVar() self.nameLabel = Label(master, text="Name:").grid(row=0, sticky=W) self.addressLabel = Label(master, text="Address:").grid(row=1, sticky=W) self.phoneLabel = Label(master, text="Phone:").grid(row=2, sticky=W) self.mobileLabel = Label(master, text="Mobile:").grid(row=3, sticky=W) self.cpfLabel = Label(master, text="CPF").grid(row=4, sticky=W) self.rglabel = Label(master, text="RG").grid(row=5, sticky=W) self.nameEntry = Entry(master, textvariable=self.value).grid(row=0,column=1) self.addresEntry = Entry(master).grid(row=1,column=1) self.phoneEntry = Entry(master).grid(row=2,column=1) self.mobileEntry = Entry(master).grid(row=3,column=1) self.cpfEntry = Entry(master).grid(row=4,column=1) self.rgEntry = Entry(master).grid(row=5,column=1) self.buttonSave = Button(master, text="Save", command=self.save).grid(row=6,columnspan=2, sticky=W+E+N+S) #grid_forget() or grid_remove() remove o widget porem pode aparecer de novo print self.value.get() def save(self): print self.value.get()Agora funciona, porem não imprime nada, deve ser alguma problema relacinado a classe, alguém consegue identifica?:?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Pimenta Postado Dezembro 19, 2006 Autor Denunciar Share Postado Dezembro 19, 2006 Ah solucao que funcionou foi: def __init__(self, master): self.nameEntry = Entry(master) self.contents = StringVar() self.nameEntry["textvariable"]=self.contents self.nameEntry.pack() self.nameEntry.grid(row=0,column=1) self.buttonSave = Button(master,text="Save",command=self.save).grid(row=9,columnspan=2, sticky=W+E+N+S) def save(self): print self.nameEntry.get() Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Pimenta
Ola galera sou iniciante em python e não estou conseguindo pegar a string de um entry, o python retorna o erro de que o objeto não tem attribute get
from Tkinter import *
from process import *
class processInterface:
def __init__(self, master):
self.labelTitle = Label(master, text="Title").grid(row=0, sticky=W)
self.labelDescription = Label(master, text="Description").grid(row=1, sticky=W)
self.entryTitle = Entry(master).grid(row=0,column=1)
self.entryDescription = Entry(master).grid(row=1,column=1)
self.buttonSave = Button(master, text="Save", command=self.save).grid(row=2,columnspan=2, sticky=W+E+N+S)
#grid_forget() or grid_remove() remove o widget porem pode aparecer de novo
def save(self):
print self.entryTitle.get()
Considerem que tudo esteja identado normalmente
Obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.