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

Pegar String De Um Entry


Paulo Pimenta

Pergunta

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

  • 0

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 Tkinter

root=Tkinter.Tk()

nome=Tkinter.StringVar()

Tkinter.Entry(root,textvariable=nome).pack()

def pegar():

------- a=nome.get()

------- print a

Tkinter.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)

Link para o comentário
Compartilhar em outros sites

  • 0

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..hehe

alguém tem alguma dica?

vlw

Link para o comentário
Compartilhar em outros sites

  • 0

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?:??

Link para o comentário
Compartilhar em outros sites

  • 0

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()

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...