Python Forum
TKINTER - Change font color for night or day - 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 - Change font color for night or day (/thread-27056.html)



TKINTER - Change font color for night or day - Ayckinn - May-24-2020

Hi Everyone,

I would like to know if it's possible, with TKinter, to change font color from 10am to 10pm and form 10pm to 10 am, for example, from 10am to 10pm, it's day, font is green .. from 10pm to 10am it's night, font is blue.. I know how to change color but this is with the time management that i don't see how to do..

Here is my code
from tkinter import *
from time import *


class DigitalClock:

    def __init__(self, window):
        self.time_init = ""
        self.label = Label(window, font = ("arial", "180", "bold"),
                           bg = "black", fg = "lime")
        self.label.pack(fill ="both", expand = 1)
        self.label.after(1000, self.timer)

    # ------------------------------------------------------------------------
    def timer(self):
        self.time2 = strftime("%H : %M\n%S")

        if self.time2 != self.time_init:
            self.time_init = self.time2
            self.label.config(text = self.time2)
            self.label.after(1000, self.timer)

# ============================================================================
if __name__ == "__main__":
    master = Tk()
    master.geometry("1024x600")
    master.title("Digital Clock")
    clock = DigitalClock(master)
    # -- Fullscreen Mode
    #master.attributes('-fullscreen', True)
    # -- Deactivate mouse cursor
    #master.config(cursor = "none")
    master.mainloop()
Thank you all :)


RE: TKINTER - Change font color for night or day - menator01 - May-24-2020

Maybe some thing along these lines. The time for blue is set between 1 pm and 3:59 pm then changes.
import tkinter as tk
from time import strftime


class Clock:
    def __init__(self, parent=None):
        # following allows importing class into another GUI framework.
        if not parent:
            self.parent = tk.Tk()
        else:
            self.parent = parent

        self.parent.title('My Clock')
        self.parent.geometry('200x50+50+50')

        self.clock = tk.Label(self.parent, borderwidth = 2, height=2, relief=tk.SOLID)
        self.clock.pack(padx=5, pady=2, fill=tk.BOTH)
        self.clock.configure(fg='blue')
        self.clock['text'] = strftime("%I:%M:%S")

        self.time_now = strftime("%I:%M:%S")
        self.increnment_time()

        if not parent:
            self.parent.mainloop()


    def display_time(self):
        self.clock['text'] = strftime("%I:%M:%S")
        hour = strftime('%I')
        min = strftime('%M')
        # If it is between these hours fg color is blue else it is green
        if hour >= '13' or hour <= '15' and min <= '59':
            self.clock.configure(fg='blue')
        else:
            self.clock.configure(fg='green')

    def increnment_time(self):
        self.display_time()
        # call self every 1000 ms (1 sec)
        self.clock.after(1000, self.increnment_time)

if __name__ == '__main__':
    clk = Clock()



RE: TKINTER - Change font color for night or day - Ayckinn - May-24-2020

Many many thanks, that's what i wanted !! :)