![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| RM2010 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 29.1.2010 Репутация: -1 Всего: 2 |
День Добрый!
Пытаюсь написать простенький калькулятор. Скажем есть кнопка: ... b1 = Button(app, text=" 1 ", command = cb1 ) b2 = Button(app, text=" 1 ", command = cb2 ) b3 = Button(app, text=" 1 ", command = cb3 ) ... на данный момент она запускает функцию cb1, которая добавляет "1", но при этом приходиться писать свою функцию для каждой кнопки. Если же я пишу так ... b1 = Button(app, text=" 1 ", command = add(1) ) b2 = Button(app, text=" 1 ", command = add(2) ) b3 = Button(app, text=" 1 ", command = add(3) ) ... тем самым обращаясь к функции add, и добавляя параметр 1, то команда запуска функции срабатывает сразу после запуска программы, без нажатия кнопки. что делать? и можно ли вообще таким образом передавать параметры функции? Это сообщение отредактировал(а) RM2010 - 15.2.2010, 15:28 |
|||
|
||||
| andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: нет Всего: 33 |
естественно. т.к. выражение "add(1)" выполняется при создании кнопки. покажи декларацию конструкторов "Button". Добавлено через 1 минуту и 34 секунды
попробуй так:
-------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
| RM2010 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 29.1.2010 Репутация: -1 Всего: 2 |
УРА! Работает! Спасибо!
b1 = Button(app, text=" 1 ", command = lambda: add(1) ) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |