Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- import tkinter.ttk as ttk
- import time
- class App(tk.Tk):
- def __init__(self):
- super().__init__()
- self.rowconfigure(990, weight=1)
- self.columnconfigure(0, weight=1)
- self.title('Timed Events Demo')
- self.geometry('420x200+20+20')
- var = tk.StringVar()
- tk_spn = tk.Spinbox(
- self,
- value=0,
- from_=0, to=1000,
- values=list(range(0, 1000))
- )
- tk_spn.grid(row=0, pady=5)
- ttk_spn = ttk.Spinbox(
- self,
- from_=0, to=1000,
- value=0,
- values=list(range(0, 1000))
- )
- ttk_spn.grid(row=1, pady=5)
- self.t1 = round(time.monotonic() * 1000)
- def do_work(e):
- wdg = e.widget
- old_val = wdg.get()
- def func():
- t2 = round(time.monotonic() * 1000)
- if t2 - self.t1 < 500:
- e.widget.set(old_val)
- return
- self.t1 = round(time.monotonic() * 1000)
- self.after(0, func)
- tk_spn.bind('<<Increment>>', do_work)
- tk_spn.bind('<<Decrement>>', do_work)
- ttk_spn.bind('<<Increment>>', do_work)
- ttk_spn.bind('<<Decrement>>', do_work)
- def main():
- app = App()
- app.mainloop()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement