python - 为什么我的滑块在 python tkinter 中消失了?
问题描述
我一直在研究一个 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()
当我添加这个并执行程序时,屏幕是黑色的,我没有滑块。
我该怎么办?
解决方案
创建滑块的代码在函数内部print_value
,您永远不会调用print_value
.
推荐阅读
- vue.js - Vue-Draggable 在 b-modal 上无法正常工作
- spring-boot - 验证不起作用 Spring 2.3.3.RELEASE
- r - 处理 R 中存储为文本字符串的图像
- python - 对于 list_of_ranges 中的 range(),如果它们在 range() 中,则从 list_of_values 获取值
- sql-server - 将多个值传递到子报表参数 SSRS
- reactjs - 如何使用 ReactHook 在 videoElement 中传递 srcObject?
- javascript - Javascript - 我如何从给定的周数和年份获取一周中的每个日期
- wordpress - wordpress url面临问题
- c - 没有在 Makefile 中创建目标的规则
- azure - Terraform 脚本将证书从数据源 Key Vault 复制到新的 Key Vault