typ1972
Ноя. 27, 2010 22:49:15
Вот такой код:
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:51:18
А чего вы ожидали, написав
prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application())
typ1972
Ноя. 28, 2010 08:03:34
ожидал, что по клику будет вызываться……..
а как правильно???
Subideal Ox
Ноя. 28, 2010 20:11:16
prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application)
command ждет от вас функцию, а Вы передаете ему None - результат выполнения self.New_Application.
typ1972
Ноя. 28, 2010 23:02:15
Благодарю, сам бы я не догадался,
Я передал не функцию, а присваивал command результат выполнения функции. А нужно было, то всего скобки убрать :))))