2013-02-25 3 views
0

В Tkinter, как я могу назначить значение переменной при возникновении события?Как назначить значение переменной при возникновении события?

from Tkinter import * 

def on_Click(event): 
    print(event.x, event.y) 
    return 'hello world !' 

root = Tk() 
root.bind("<Button-1>", on_Click) 
myVariable = on_Click() 
# rest of the program 
root.mainloop() 

Как я могу присвоить значение myVariable к значению on_Click() когда on_Click запускается (при нажатии на виджет)?

Остальная часть программы будет выполнена только тогда, когда значение успешно присвоено myVariable. Блокировка программы, пока клик не был записан.

ответ

0

Вещь - вся программа запускается при запуске скрипта, все, что не входит в функцию, загружается с самого начала для создания пользовательского интерфейса ... и реальная работа начинается, когда загружается функция, например, один вы написали (on_Click).

Что вам нужно сделать, это связать myVariable внутри функции, а затем отправить переменную в другую функцию, которая будет остальной частью вашей программы.

from Tkinter import * 

variable = None 

def on_Click(event): 
    print(event.x, event.y) 
    variable = 'hello world !' 
    main(variable) 

root = Tk() 
root.bind("<Button-1>", on_Click) 

def main(x): 
# rest of the program 

root.mainloop() 

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

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