2016-01-26 2 views
0

Я новичок в Tkinter и не уверен, как действовать дальше. Я пытаюсь связать функцию, которую я определяю, в виджет ввода, который активируется кнопкой. но я не могу понять, как заставить их общаться друг с другом. Я бы хотел, чтобы он печатался, а также возвращался к скрипту, чтобы я мог использоваться в другой функции. Это то, что я до сих пор:Tkinter: подключить виджет ввода к кнопке к функции

import Tkinter as tk 


def TestMath(x): 
    calculate = x + 4 
    print calculate 
    return calculate 


root = tk.Tk() 
entry = tk.Entry(root) 
value = entry.get() 
number = int(value) 

button = tk.Button(root, text="Calculate") 
calculation = TestMath(number) 

root.mainloop() 
+0

'Button (..., command = TestMath)' – furas

+0

Этот вопрос мог быть легко исследован в Google и даже здесь, на этом сайте. Пожалуйста, осмотритесь и сделайте исследование, прежде чем отправлять простые вопросы. –

ответ

0

Button функция вызовов назначается command= (он должен быть «имя функции» без () и аргументы - или лямбда-функции)

TestMath назначает расчет глобальной переменной result и другие функции могут иметь доступ к этому значению.

import Tkinter as tk 


def TestMath(): 
    global result # to return calculation 

    result = int(entry.get()) 
    result += 4 

    print result 

result = 0 

root = tk.Tk() 

entry = tk.Entry(root) 
entry.pack() 

button = tk.Button(root, text="Calculate", command=TestMath) 
button.pack() 

root.mainloop() 

Функция, вызываемая кнопкой, не должна возвращать значение, потому что нет объекта, который мог бы получить это значение.

Смежные вопросы