почему мои слайдеры исчезают в python tkinter? - PullRequest
0 голосов
/ 13 июня 2019

Я работал над проектом tkinter, который использует три ползунка для настройки вывода RGB.Код ниже работает просто отлично:

from tkinter import*


Window = Tk()
Window.title("Edit Color")
Window.geometry('1270x680')
Window.configure(background = "black")

#sliders
Slider_1 = Scale(activebackground='pink',
                 orient=HORIZONTAL,
                 relief=GROOVE,
                 length = 500,
                 from_=0,to_=255,
                 bg='red',
                 tickinterval=51,
                 troughcolor='pink')
Slider_1.grid(row=0, column=0,padx=60, pady=70)


Slider_2 = Scale(activebackground='lightGreen',
                 orient=HORIZONTAL,
                 relief=GROOVE,
                 length = 500,
                 from_=0,to_=255,
                 bg='Green',
                 tickinterval=51,
                 troughcolor='lightGreen')
Slider_2.grid(row=2,  column=0, pady=70)


Slider_3 = Scale(activebackground= 'light blue',
                 orient=HORIZONTAL,relief=GROOVE,
                 length = 500, from_=0, to_=255,
                 bg='blue',
                 tickinterval=51,
                 troughcolor= 'light blue')
Slider_3.grid(row=4, column=0, pady=70)


Window.mainloop()

Затем я добавил две вещи, чтобы можно было печатать значения ползунков.Первый находится рядом с вершиной.Эта функция связана с параметром, называемым «команда», который можно найти в конце круглых скобок каждой функции ползунка:

from tkinter import*


Window = Tk()
Window.title("Edit Color")
Window.geometry('1270x680')
Window.configure(background = "black")

def print_value(val):
    print val

#sliders
    Slider_1 = Scale(activebackground='pink',
                 orient=HORIZONTAL,
                 relief=GROOVE,
                 length = 500,
                 from_=0,to_=255,
                 bg='red',
                 tickinterval=51,
                 troughcolor='pink',command=print_value)
    Slider_1.grid(row=0, column=0,padx=60, pady=70)


    Slider_2 = Scale(activebackground='lightGreen',
                 orient=HORIZONTAL,
                 relief=GROOVE,
                 length = 500,
                 from_=0,to_=255,
                 bg='Green',
                 tickinterval=51,
                 troughcolor='lightGreen',command=print_value)
    Slider_2.grid(row=2,  column=0, pady=70)


    Slider_3 = Scale(activebackground= 'light blue',
                 orient=HORIZONTAL,relief=GROOVE,
                 length = 500, from_=0, to_=255,
                 bg='blue',
                 tickinterval=51,
                 troughcolor= 'light blue',command=print_value)
    Slider_3.grid(row=4, column=0, pady=70)


Window.mainloop()


Когда я добавил это и выполнил программу, экран былчерный и у меня не было ползунков.

что мне делать?

1 Ответ

0 голосов
/ 13 июня 2019

Код, который создает ползунки, находится внутри функции print_value, и вы никогда не вызовете print_value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...