Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Проблема с вызовом функции в Tkinter Menu [RSS Feed]

#1 Ноя. 27, 2010 22:49:15

typ1972
От:
Зарегистрирован: 2009-08-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вызовом функции в Tkinter Menu

Вот такой код:

def CreateMenu()
m = tk.Menu(self.app.root)
root.config(menu = m)
prm = tk.Menu(m)
m.add_cascade(label = u'Проект', menu = prm,image = img['project'],compound='left')
prm.add_command(image = img['project_open'],label = u'Новый проект',compound='left',command = self.New_Application())

def New_Application(self):

self.stack.insert('', 'end', text = 'App', image = self.app.img['folder'])
Так вот функция New_Application(self) вызывается уже во время создания пункта меню, а не во время клика по меню
Что за фиговина????



Отредактировано (Ноя. 27, 2010 22:49:51)

Офлайн

#2 Ноя. 27, 2010 22:51:18

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Проблема с вызовом функции в Tkinter Menu

А чего вы ожидали, написав

prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application())



Офлайн

#3 Ноя. 28, 2010 08:03:34

typ1972
От:
Зарегистрирован: 2009-08-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вызовом функции в Tkinter Menu

ожидал, что по клику будет вызываться……..
а как правильно???



Офлайн

#4 Ноя. 28, 2010 20:11:16

Subideal Ox
От:
Зарегистрирован: 2010-11-23
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вызовом функции в Tkinter Menu

prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application)

command ждет от вас функцию, а Вы передаете ему None - результат выполнения self.New_Application.



Отредактировано (Ноя. 28, 2010 20:16:28)

Офлайн

#5 Ноя. 28, 2010 23:02:15

typ1972
От:
Зарегистрирован: 2009-08-09
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с вызовом функции в Tkinter Menu

Благодарю, сам бы я не догадался,
Я передал не функцию, а присваивал command результат выполнения функции. А нужно было, то всего скобки убрать :))))



Офлайн

  • Начало
  • » GUI
  • » Проблема с вызовом функции в Tkinter Menu[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version