2017-10-19 5 views
1

나는 두 파이썬 스크립트 mainapp.py 및 calculations.py 한계산 양식을 전달하는 방법 항목을 입력란에 단추 명령?

  1. mainapp.py
from tkinter import * 
import calculations 

root = Tk() 

mainapp = Frame(root) 
mainapp.grid() 

label1 = Label(mainapp, text="Value A") 
label1.grid(row=0, column=0) 
value_a = IntVar() 
entry1 = Entry(mainapp, textvariable=value_a) 
entry1.grid(row=0, column=1) 

label2 = Label(mainapp, text="Value B") 
label2.grid(row=1, column=0) 
value_b = IntVar() 
entry2 = Entry(mainapp, textvariable=value_b) 
entry2.grid(row=1, column=1) 

button = Button(mainapp, text="Calculate", 
       command=calculations.addvalues(a=value_a.get(), b=value_b.get())) 
button.grid(row=2, columnspan=2) 

label3 = Label(mainapp, text="A+B") 
label3.grid(row=3, column=0) 
value_c = IntVar() 
entry3 = Entry(mainapp, textvariable=value_c) 
entry3.grid(row=3, column=1) 

root.mainloop() 
<안녕, 시작 = "2">
  • calculations.py
  • def addvalu es (a, b) : return a + b

    Button 명령 계산을 entry3 필드에 전달하고 싶습니다. 그렇게하는 방법?

    미리 도움을 주셔서 감사합니다.

    +1

    당신이'삽입()'와 입력 필드에 계산의 결과를 전송 시도? 'entry_field.insert ("end", calc_results)'새로운 삽입마다 필드를 지우려면'entry_field.delete ("0", "end")'를 먼저 수행해야 할 수도 있습니다. –

    답변

    1

    아주 잘 해왔고 아주 가깝습니다. 입력 상자 등을 조작하기 위해 간단한 함수 (예제에서 foo() 참조)를 사용하는 것이 더 좋습니다.

    entry3.delete (0, END)는 항목이 명확하도록합니다 라인과 어떻게되는지!)

    from tkinter import * 
    import calculations 
    
    
    def foo(): 
        x = addvalues(a=value_a.get(), b=value_b.get()) 
        entry3.delete(0, END) 
        entry3.insert(END, x) 
    
    
    root = Tk() 
    
    mainapp = Frame(root) 
    mainapp.grid() 
    
    label1 = Label(mainapp, text="Value A") 
    label1.grid(row=0, column=0) 
    value_a = IntVar() 
    entry1 = Entry(mainapp, textvariable=value_a) 
    entry1.grid(row=0, column=1) 
    
    label2 = Label(mainapp, text="Value B") 
    label2.grid(row=1, column=0) 
    value_b = IntVar() 
    entry2 = Entry(mainapp, textvariable=value_b) 
    entry2.grid(row=1, column=1) 
    
    button = Button(mainapp, text="Calculate", 
           command=foo) 
    button.grid(row=2, columnspan=2) 
    
    label3 = Label(mainapp, text="A+B") 
    label3.grid(row=3, column=0) 
    value_c = IntVar() 
    entry3 = Entry(mainapp, textvariable=value_c) 
    entry3.grid(row=3, column=1) 
    
    root.mainloop()