2014-03-25 2 views
1

이전 항목을 기억할 tkinter 위젯을 만들려고합니다. 내가 가지고있는 문제는 내가 만든 버튼 메서드가 누를 때마다 이전 항목을 지 웁니다. 당신의 getTextbook()에서이전 항목 얻기

from Tkinter import * 

class step1(): 
    def __init__(self): 
     pass 

    def getTextbook(self): 
     temp = str(textbook.get()) 
     textbook.delete(0, END) 
     x = " " 
     x += temp 
     print x 

    def equal_button(self): 
     print getTextbook(self) 


root = Tk() 
root.title("step1") 
root.geometry("600x600") 
s = step1() 

app = Frame(root) 
app.grid() 
label = Label(app, text = "step1") 
label.grid() 

textbook = Entry(app, justify=RIGHT) 
textbook.grid(row=0, column = 0, columnspan = 3, pady = 5) 

textbook2 = Entry(app, justify=RIGHT) 
textbook2.grid(row=1, column = 0, columnspan = 3, pady = 5) 

button1 = Button(app, text = "Return", command = lambda: s.getTextbook()) 
button1.grid() 

button2 = Button(app, text="Equal") 
button2.grid() 

root.mainloop() 
+0

아마도 다른 변수에 저장 하시겠습니까? – Gogo

답변

1

변수 X" "로 설정 때마다 덮어 쓰기되고있다. 대신 목록을 사용하고 버튼을 누르면 목록에 각 항목을 추가하십시오.

from Tkinter import * 

root = Tk() 

textbookList = [] 

def getTextbook(): 
    textbookList.append(textbook.get()) 
    textbook.delete(0,END) 
    print textbookList 

textbook = Entry(root) 
textbook.pack() 

btn1 = Button(root, text='Return', command=getTextbook) 
btn1.pack() 

root.mainloop() 
+0

시간을내어 주셔서 감사합니다. 나는 이것을하는 것에 대해 생각했지만 수업을 보전하려고합니다. 그리고 내가 제대로 의사 소통을하지 않았다는 것을 알았습니다. 그래서 클래스에 전역 변수를 호출하는 방법이 궁금합니다. – user3458179

+0

이것은 나에게 많은 의미가되지 않습니다. 변수를 다시 작성하면 다시 작성됩니다. 왜 목록이나 사전에 모든 값을 처리하지 않습니까? 필요에 따라 검색 할 수 있습니다. – atlasologist

+0

tkinter를 사용하여 계산기를 설계하려고합니다. tkinter에서 클래스를 사용하는 방법을 이해해야합니다. 그래서 제가 수업 시간에 변수를 기억하게되었습니다. – user3458179