顾名思义,我需要在一段时间后更改旋转框的增量。我需要使用旋转框滚动浏览整个32位整数(它必须在触摸屏上运行。任何其他选项也将不胜感激)。但是,用户在滚动浏览时必须保持一定的准确性,但是直到时间结束才能从整数的一端移到另一端时,还不应该使用它们。如何使按钮保持x倍的时间后,旋转框的增量发生变化?
谢谢!
答案 0 :(得分:0)
Spinbox
以repeatdelay
和repeatInterval
作为参数。如果将它们与计时机制结合使用,则可以实现“快速滚动”效果,如下所示:
import tkinter as tk
class GUI(tk.Tk):
def __init__(self):
super().__init__()
self.s = tk.Spinbox(self)
self.interval = 0
self.s["values"] = [i for i in range(32000)]
self.s.pack()
self.s.bind('<ButtonPress-1>', self.on_press)
self.s.bind('<ButtonRelease-1>', self.on_release)
def on_press(self,event=None):
self.interval +=1
if self.interval <=3: #increases speed if button has been hold for 3 seconds
self.after(1000,self.on_press)
else:
self.s.config(repeatdelay=1, repeatinterval=1)
def on_release(self,event=None):
self.interval = 0
self.s.config(repeatdelay=100, repeatinterval=100)
root = GUI()
root.mainloop()