В Tkinter, есть ли способ остановить выполнение функции обратного вызова при запуске программы? - PullRequest
0 голосов
/ 02 февраля 2020

Если я создаю программу tkinter GUI с виджетом, который имеет функцию обратного вызова, есть ли способ гарантировать, что этот обратный вызов не будет выполнен, пока пользователь фактически не взаимодействует с виджетом?

Похоже, что при создании виджета (масштаб в приведенном ниже примере) функция обратного вызова выполняется еще до того, как пользователь нажимает на шкалу / ползунок.

Хотелось бы, чтобы сообщение «Мне позвонили» не появлялось до тех пор, пока пользователь не нажмет на слайдер, а не просто запустив программу.

Я использую Python 2.7.13 (мне нужно использовать 2.7 по определенным причинам).

MWE

from Tkinter import *

top = Tk()

def Callback_param11(val):
    print('\n\nI got called\n\n')
    # some commands will go here

p1 = DoubleVar()

p1_slider = Scale(top, variable=p1, from_=-10, to=10, command=Callback_param11)
p1_slider.pack()

top.mainloop()
...