LINUX.ORG.RU

Tcl vs Python


0

0

Суть проблемы: в гуйне полно однообразных элементов. решил их создавать
с помощью функций, которые их компонуют и размещают на checkbutton надо 
повесить событие с параметром, который будет передаваться компонующей 
функции. В питоне я не мог придумать как (знаний не хватает имхо). 
пробовал так, но не работает:

def cItem_c(M,Text,X,Y,Var):
    ...
    Item.cb = Checkbutton(Item,command=M.CBexec(Var))

Потом забил на питон и переписал все на tcl. подобный фрагмент выглядит так:
proc ::cItem_c {path Text X Y Var} {
     ...
     checkbutton $path.cb -command "CBexec $Var"
}

Вопрос знатокам: Как в питоне можно такое сделать? И можно ли вообще?

уточните, плз, вы хотели передать какой параметр пользовательской функции или компоновщику pack()/grid()?

anonymous
()

Можно использовать замыкание

def event_maker(param):
  def event_handler():
    print param
  return event_handler


.............

Item.cb = Checkbutton(Item,command=event_maker(Var))

DKorolkov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.