Можно ли вызвать ту же функцию со шкалой и контрольной кнопкой в tkinter, используя Python 3.x?

#python #python-3.x #function #tkinter #scale

#python #python-3.x #функция #tkinter #масштаб

Вопрос:

У меня есть шкала, которая вызывает функцию для получения номера шкалы. Я хочу, чтобы в этой функции было намного больше вещей, и я хотел бы, чтобы они происходили не только при перемещении шкалы, но и при выборе контрольной кнопки. Проблема в том, что Scale отправляет переменную в функцию (положение шкалы), а checkbutton — нет, поэтому, если я использую команду checkbutton для вызова той же функции, я получаю сообщение об ошибке. Кто-нибудь знает, возможно ли вызвать ту же функцию со шкалой и контрольной кнопкой?

 from tkinter import *
root = Tk()

def get_scale(scale_value):
    print(scale_test.get())

scale_test = Scale(root, from_=0, to = 10, command = get_scale)
button_test = Checkbutton(root)

scale_test.pack()
button_test.pack()

root.mainloop()
  

Комментарии:

1. Укажите значение по умолчанию: def get_scale(scale_value=1)

Ответ №1:

Спасибо @Mike67, это работает:

 from tkinter import *
root = Tk()

def get_scale(scale_value = 1):
    print(scale_test.get())

scale_test = Scale(root, from_=0, to = 10, command = get_scale)
button_test = Checkbutton(root,command = get_scale)

scale_test.pack()
button_test.pack()

root.mainloop()