[Tkinter] How to adjust time - tkinter - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: [Tkinter] How to adjust time - tkinter (/thread-19256.html) |
How to adjust time - tkinter - Ondrej - Jun-20-2019 Hello everbody, please help me to solve one issue with my tkinter clock. Time is imported from my cpu but sometimes I need to shift few seconds down or up, so I created buttons with command functions, the problem is that i donĀ“t know how to set the def or those buttons properly (with print function, or transfor string to int and back?), Thanks for any advice. Bellow you can see code: import sys, random from tkinter import * from tkinter import ttk import time def tick(): time_string=time.strftime('%H:%M:%S') clock.config(text=time_string) clock.after(200,tick) root=Tk() def callback(): time_string=time.strftime(chr('%H:%M:%S')) button1=ttk.Button(root, text="Add a second", command=callback) def call(): print("down") button2=ttk.Button(root, text="Remove a sec", command=call) clock=Label(root, font=("times", 120, "bold"), bg="green") button1.grid(row=1, column=1) button2.grid(row=2, column=1) clock.grid(row=0, column=1) tick() root.mainloop() RE: How to adjust time - tkinter - Larz60+ - Jun-20-2019 see: https://pymotw.com/3/datetime/ RE: How to adjust time - tkinter - Yoriz - Jun-20-2019 import datetime import tkinter as tk from tkinter import ttk class MainFrame(tk.Frame): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.clock_offset = 0 self.create_widgets() self.layout_widgets() self.tick() def create_widgets(self): self.clock = tk.Label(self.master, font=( "times", 120, "bold"), bg="green") self.button1 = ttk.Button( self.master, text="Add a second", command=self.on_add) self.button2 = ttk.Button( self.master, text="Remove a sec", command=self.on_remove) def layout_widgets(self): self.clock.grid(row=0, column=1) self.button1.grid(row=1, column=1) self.button2.grid(row=2, column=1) def tick(self): datetime_now = datetime.datetime.now() datetime_offset = datetime_now + datetime.timedelta(seconds=self.clock_offset) time_string = datetime_offset.strftime('%H:%M:%S') self.clock.config(text=time_string) self.after(1000, self.tick) def on_add(self): self.clock_offset += 1 def on_remove(self): self.clock_offset -= 1 root = tk.Tk() MainFrame(None) root.mainloop() |