[英]How to continuously change an image using the value of a tkinter Scale widget
[英]How to change the side where the current value of the tkinter Scale widget is being displayed?
我正在使用tkinter Scale
小部件,我有两个彼此相邻的音阶。 我希望其中一个的数字转到另一边。
这是我正在使用的代码:
#IMPORTS
from tkinter import *
import time
#USER INPUT
user = input("Please Enter Your Username")
time.sleep(0.4)
pass_ = imput("Please Enter Your Password")
time.sleep(0.6)
#DEFINITIONS
#STUFF
master = Tk()
#LEFT
left = Scale(master,from_=0,to=249,length=550,width=25,tickinterval=152,sliderlength=30)
left.pack()
left.set(152)
left.grid(row=0, column=3)
#RIGHT
right = Scale(master,from_=0,to=249,length=550,width=25,tickinterval=152,sliderlength=30)
right.pack()
right.set(152)
right.grid(row=0, column=6)
#BUTTONS
send = Button(master,text="Send To Bot",command=send)
send.pack()
send.grid(row=15, column=4)
#RUN CANVAS
mainloop()
我希望正确的比例在右侧和左侧刻度上有数字在左侧(默认设置)。
(顺便说一下,这个编码没有完成,这就是定义没有完成的原因。)
我不认为有一种方法可以指定小部件显示在哪一侧。 但是,您可以自定义窗口小部件的showvalue
属性以关闭默认标签,并将IntVar()
分配给缩放的variable
属性以从外部监视滑块的值,并更新可以放置在任何位置的Label窗口小部件作为值滑块更改:
master = Tk()
leftValue = IntVar() # IntVars to hold
rightValue = IntVar() # values of scales
leftScale = Scale(master, from_=0, to=249, variable=leftValue, showvalue=0)
leftScale.set(152)
rightScale = Scale(master, from_=0, to=249, variable=rightValue, showvalue=0)
rightScale.set(152)
leftLabel = Label(master, textvariable=leftValue) # labels that will update
rightLabel = Label(master, textvariable=rightValue) # with IntVars as slider moves
leftLabel.grid(row=0, column=0)
leftScale.grid(row=0, column=1)
rightLabel.grid(row=0, column=3)
rightScale.grid(row=0, column=2)
mainloop()
当然,标签不会随着滑块的变化而移动,但是如果你真的需要这个功能,你可以考虑创建一个Frame的子类,并找到一种方法来改变Label的几何形状,因为滑块的值会发生变化。
编辑:就像一个注释,你不应该在你的代码中混合包和网格。 所有这些小部件都应该只由一个几何管理器处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.