2013-07-20 3 views
0

처음에는 덧셈/뺄셈을 위해 간단한 GUI 계산기를 만들려고합니다. 콘솔에 결과를 인쇄 할 수 있지만 예를 들어 이름 입력 상자와 같은 항목 상자에 인쇄하려고하지만 할 수 없습니다. 당신이 작업의 결과를 보여주고 싶은 경우.Tkinter 계산기를 만들기위한 프로그램

from Tkinter import * 
import tkMessageBox 
import sys 
class scanner: 
    list1 = [] 
    def __init__(self,parent): 
     self.entrytext = StringVar() 
     self.entrytext1 = StringVar() 
     Label(root, text="first name", width=10).grid(row=0,column=0) 
     Entry(root, textvariable=self.entrytext, width=10).grid(row=0,column=1) 
     Label(root, text="last name", width=10).grid(row=1,column=0) 
     Entry(root, textvariable=self.entrytext1, width=10).grid(row=1,column=1) 
     Button(root, text="ADD", command=self.add).grid() 
     Button(root, text="SUBTRACT", command=self.subtract).grid() 

    def add(self): 
     global a 
     global b 
     self.a=int(self.entrytext.get()) 
     self.b=int(self.entrytext1.get()) 
     print "result is", self.a+self.b 

    def subtract(self): 
     global a 
     global b 
     self.a=int(self.entrytext.get()) 
     self.b=int(self.entrytext1.get()) 
     print "result is", self.a-self.b 


root= Tk() 
root.geometry("300x300") 
calc = scanner(root) 
root.mainloop() 

답변

0

(* 지금 나는 기능에 집중하고있는 버튼의 정렬을 무시하십시오 바로 그것을 얻으려고 노력) 도움이 될 수 있다면 정말 감사하겠습니다 레이블의 텍스트로 새 레이블을 만들고 text 옵션과 인쇄 할 문자열을 값으로 구성하면됩니다. 보조 노트로 global 문이 필요 없으며 인스턴스 변수를 사용할 필요도 없습니다.

def __init__(self,parent): 
    # ... 
    self.result = Label(root, text='') 
    self.result.grid(row=4, column=0) 

def add(self): 
    try: 
     a = int(self.entrytext.get()) 
     b = int(self.entrytext1.get()) 
     self.result.config(text=str(a+b)) 
    except ValueError: 
     print("Incorrect values") 
0

insert 방법을 사용, 위젯에 항목 텍스트를 추가하려면 : 그러나, 항목의 내용이 실제로 유효 숫자 있는지 확인하는 것이 매우 중요합니다. 현재 텍스트를 바꾸려면 새 텍스트를 삽입하기 전에 delete으로 전화하십시오.

e = Entry(master) 
e.pack() 

e.delete(0, END) 
e.insert(0, "a default value") 

delete 방법에서 첫번째 파라미터에서 삭제할 수있는 문자 너무 삭제 여기서, 상기 제 파라미터이다. 어떻게 END이 tkinter 변수인지 확인하십시오.

insert 함수의 매개 변수는 텍스트도 삽입되는 곳이며 두 번째 매개 변수는 삽입되는 부분입니다.

앞으로는 Effbot으로 가서 그 모든 것을 알아 내려고 위젯에 대해 읽어 보시기 바랍니다.

관련 문제