Найти - Пользователи
Полная версия: Почему вызывается функция которая должна вызываться только при нажатии кнопки
Начало » Python для новичков » Почему вызывается функция которая должна вызываться только при нажатии кнопки
1
SoT
Код программы в файле http://rusfolder.com/35347630 .

ПРограмма должна строить гистограмму по введённым параметра при нажатии кнопки построить или построить N1. Когда она считала только верхнюю часть проблем не было. Потом была дописанна часть с четырьмя кнопками построить N1,N2,D1,D2 по аналогии с первой частью и после отладки и устранения ошибки при запуске программы она почему то отрабатывает так, как будто было нажаты поочерёдно все четыре кнопки построить N1,N2,D1,D2.
Подскажите как избежать этого срабатывания
P.s. Извините за грязный код, не было время очистить от лишнего, вечером отредактирую сообщение и выложу более чистую версию




dimy44
Со смарта по вашей ссылке белый лист открывается, код не посмотрел всвязи с этим. Могу лишь предположить, что на кнопки вы там повесили не сами функции, а результат их выполнения, ну т.е. скобочки после функций там не стоят?
FishHook
Соответствующие кусоки кода, исправьте вот так

bt_n1 = Tkinter.Button(root)
bt_n1["text"] = u"Построить N1"
bt_n1.bind("<Button-1>", lambda x: plot_in_root_multi( n1_mass_left, n1_mass_right , entry_varnra1) )
bt_n1.place(relx = 0.9, rely = 0.3, anchor = "center")
bt_n2 = Tkinter.Button(root)
bt_n2["text"] = u"Построить N2"
bt_n2.bind("<Button-1>", lambda x: plot_in_root_multi( n2_mass_left, n2_mass_right , entry_varnra2))
bt_n2.place(relx = 0.9, rely = 0.36, anchor = "center")
bt_d1 = Tkinter.Button(root)
bt_d1["text"] = u"Построить D1"
bt_d1.bind("<Button-1>", lambda x: plot_in_root_multi( d1_mass_left, d1_mass_right , entry_vardra1))
bt_d1.place(relx = 0.9, rely = 0.42, anchor = "center")
bt_d2 = Tkinter.Button(root)
bt_d2["text"] = u"Построить D2"
bt_d2.bind("<Button-1>", lambda x: plot_in_root_multi( d2_mass_left, d2_mass_right , entry_vardra2))
bt_d2.place(relx = 0.9, rely = 0.48, anchor = "center")

def plot_in_root_multi(mass_left, mass_right, mass_data):
....
cutwater
А за использование rusfolder и подобных ресурсов предлагаю жестоко банить
SoT
FishHook большое спасибо за помощь. cutwater учту ваше замечание и больше не буду этим грешить. Просто в первый раз забыл прикрепить файл к теме, а при редактировании это по-видимому невозможно. Как добавлять код в сообщение разобрался только сейчас
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