2015-07-04 5 views
-3

Я пробовал этот код, но я получаю пустой ответ от команды get? это только в классе я получаю пустой value..but если я сделать функцию, а не класс я получаю значение из текста ...'get' return blank value python

from Tkinter import * 
from ttk import Button,Entry,Style 
import pickle 
class Home(Frame): 
    def __init__(self,parent): 
     Frame.__init__(self,parent) 
     self.parent=parent 
     self.initUI() 

    def initUI(self): 
     self.parent.title("HOME SCREEN") 
     frame = Frame(self) 
     global a 
     global z 


     self.pack(fill=BOTH, expand=1) 
     label1=Label(frame,text="USERNAME",) 
     label2=Label(frame,text="PASSWORD") 
     text1=Entry(frame, show="*", width=15) 
     text2=Entry(frame,width=15) 
     login=Button(self,text="Login",command=self.load) 
     register=Button(self,text='Register',command=self.dump) 
     Quit=Button(self,text='Quit',command=self.quit) 
     delete=Button(self,text='Delete Account',command=self.delete) 
     showb=Button(self,text='Show Accounts',command=self.show) 

     label1.pack(side=LEFT) 
     text2.pack(side=LEFT, padx=5, pady=5) 
     label2.pack(side=LEFT) 
     text1.pack(side=LEFT, padx=5, pady=5) 
     frame.pack(fill=BOTH, expand=1) 

     Quit.pack(side=RIGHT ,padx=5, pady=5) 
     register.pack(side=RIGHT) 
     login.pack(side=RIGHT) 
     delete.pack(side=RIGHT) 
     showb.pack(side=RIGHT) 

     a=text1.get() 
     z=text2.get() 
+0

Вы используете TKinter? Импорт будет приятным ... – Felix

+0

да я использую Tkinter –

+0

Я не дурак, чтобы не импортировать его ..... Я получаю пустое значение от записи с помощью функции get –

ответ

-2

Фигурного это мой сам ...

def initUI(self): 
    self.parent.title("HOME SCREEN") 


    frame = Frame(self) 

    self.pack(fill=BOTH, expand=1) 
    label1=Label(frame,text="USERNAME",) 
    label2=Label(frame,text="PASSWORD") 
    text1=Entry(frame, show="*", width=15,) 
    text2=Entry(frame,width=15) 
    login=Button(self,text="Login",command=self.load) 
    register=Button(self,text='Register',command=self.dump) 
    Quit=Button(self,text='Quit',command=self.quit) 
    delete=Button(self,text='Delete Account',command=self.delete) 
    showb=Button(self,text='Show Accounts',command=self.show) 


    label1.pack(side=LEFT) 
    text2.pack(side=LEFT, padx=5, pady=5) 
    label2.pack(side=LEFT) 
    text1.pack(side=LEFT, padx=5, pady=5) 
    frame.pack(fill=BOTH, expand=1) 

    Quit.pack(side=RIGHT ,padx=5, pady=5) 
    register.pack(side=RIGHT) 
    login.pack(side=RIGHT) 
    delete.pack(side=RIGHT) 
    showb.pack(side=RIGHT) 
    global text1 
    global text2 
def dump(self): 

    z=(text1.get()) 
    a=(text2.get()) 
0

Вы вызываете text1.get() и text2.get(), прежде чем графический интерфейс появится на экране, поэтому пользователь не может ввести текст, прежде чем пытаться получить значение. Вам нужно переместить эти вызовы внутри функции, вызываемой после того, как пользователь имеет возможность ввести информацию в виджет.