Найти - Пользователи
Полная версия: Проблема с вызовом функции в Tkinter Menu
Начало » GUI » Проблема с вызовом функции в Tkinter Menu
1
typ1972
Вот такой код:
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) вызывается уже во время создания пункта меню, а не во время клика по меню
Что за фиговина????
Андрей Светлов
А чего вы ожидали, написав

prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application())
typ1972
ожидал, что по клику будет вызываться……..
а как правильно???
Subideal Ox
prm.add_command(image = img,label = u'Новый проект',compound='left',command = self.New_Application)

command ждет от вас функцию, а Вы передаете ему None - результат выполнения self.New_Application.
typ1972
Благодарю, сам бы я не догадался,
Я передал не функцию, а присваивал command результат выполнения функции. А нужно было, то всего скобки убрать :))))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB