为什么我的滑块会在python tkinter中消失?

2024-10-02 00:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在做一个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()

然后我添加了两个东西,以便能够打印滑块的值。第一个接近顶部。它是一个与名为“command”的参数相关联的函数,可以在每个滑块函数的圆括号末尾找到:

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()


当我添加这个并执行程序时,屏幕是黑色的,我没有滑块

我该怎么办


Tags: tofromwindowlengthgridbgsliderscale

热门问题