Создание виджета часов с использованием Python и Tkinter

GetCoder.ru
Изображение статьи

Создайте виджет часов для рабочего стола с использованием Python и Tkinter.

В настоящее время создание графических пользовательских интерфейсов (GUI) стало неотъемлемой частью разработки программного обеспечения. С помощью Python и библиотеки Tkinter вы можете легко создавать разнообразные GUI-приложения для вашего рабочего стола. В этой статье мы рассмотрим, как создать готовый виджет часов с использованием Python, Tkinter и примером, который вы сможете легко адаптировать под свои потребности.

Установка необходимых компонентов

Прежде всего, убедитесь, что у вас установлен Python. Tkinter обычно поставляется вместе с Python, так что вам не нужно ничего дополнительно устанавливать.

Для начала откройте редактор и создайте новый файл с расширением '.py'.

Создание виджета часов

Вставьте следующий код:

  • copy
#-*- coding: UTF-8 -*- from tkinter import * import time, re class Main: def __init__(self): self.app_window = Tk() self.app_window.title("Clock") self.app_window.configure(bg="black") self.button = Label(self.app_window, text="x", font=("Boulder", 14), bg="black", fg="#363529") self.button.pack(side="right", anchor="n") self.clock = Label(self.app_window, font=("Boulder", 68, 'bold'), bg="black", fg="#363529") self.clock.pack() self.get_time() self.app_window.geometry(f"+{(self.app_window.winfo_screenwidth() - 100) // 2}+{(self.app_window.winfo_screenheight() - 100) // 2}") self.app_window.overrideredirect(True) self.app_window.attributes("-transparent", "black") self.app_window.lift() self.app_window.wm_attributes("-topmost", True) self.app_window.bind('', self.on_mouse_press) self.app_window.bind('', self.move_window) self.button.bind('', self.clows_win) self.app_window.mainloop() def clows_win(self, event): exit(0) def move_window(self, event): rect = re.fullmatch(r'\d+x\d+\+(?P-?\d+)\+(?P-?\d+)', self.app_window.geometry()).groupdict() x = int(rect['x']) + (event.x - self.start_x) y = int(rect['y']) + (event.y - self.start_y) self.app_window.geometry(f'+{x}+{y}') def on_mouse_press(self, event): self.start_x = event.x self.start_y = event.y def get_time(self): timeVar = time.strftime("%H:%M:%S") self.clock.config(text = timeVar) self.clock.after(200, self.get_time) if __name__ == '__main__': Main()

Этот код создает простой виджет часов с использованием Tkinter. Виджет будет обновляться каждую секунду, отображая текущее системное время. Он также будет всегда находиться поверх всех окон и не будет иметь рамки.

Заключение

В этой статье мы рассмотрели, как использовать Python и Tkinter для создания готового виджета часов для вашего рабочего стола. Мы также освоили использование основных функций Tkinter для создания простого, но полезного приложения GUI.

Этот пример можно легко расширить и настроить под ваши потребности. Например, вы можете изменить шрифт и цвет текста, добавить дополнительные функции или интегрировать виджет в другие приложения. Возможности ограничены лишь вашей фантазией!

  • 17.03.2024
  • 38
  • 0

Создание виджета часов с использованием Python и Tkinter

В настоящее время создание графических пользовательских интерфейсов (GUI) стало неотъемлемой частью разработки программного обеспечения. С помощью Python и библиотеки Tkinter вы можете легко создавать разнообразные GUI-приложения для вашего рабочего стола. В этой статье мы рассмотрим, как создать готовый виджет часов с использованием Python, Tkinter и примером, который вы сможете легко адаптировать под свои потребности.

Установка необходимых компонентов

Прежде всего, убедитесь, что у вас установлен Python. Tkinter обычно поставляется вместе с Python, так что вам не нужно ничего дополнительно устанавливать.

Для начала откройте редактор и создайте новый файл с расширением '.py'.

Создание виджета часов

Вставьте следующий код:

  • copy
#-*- coding: UTF-8 -*- from tkinter import * import time, re class Main: def __init__(self): self.app_window = Tk() self.app_window.title("Clock") self.app_window.configure(bg="black") self.button = Label(self.app_window, text="x", font=("Boulder", 14), bg="black", fg="#363529") self.button.pack(side="right", anchor="n") self.clock = Label(self.app_window, font=("Boulder", 68, 'bold'), bg="black", fg="#363529") self.clock.pack() self.get_time() self.app_window.geometry(f"+{(self.app_window.winfo_screenwidth() - 100) // 2}+{(self.app_window.winfo_screenheight() - 100) // 2}") self.app_window.overrideredirect(True) self.app_window.attributes("-transparent", "black") self.app_window.lift() self.app_window.wm_attributes("-topmost", True) self.app_window.bind('', self.on_mouse_press) self.app_window.bind('', self.move_window) self.button.bind('', self.clows_win) self.app_window.mainloop() def clows_win(self, event): exit(0) def move_window(self, event): rect = re.fullmatch(r'\d+x\d+\+(?P-?\d+)\+(?P-?\d+)', self.app_window.geometry()).groupdict() x = int(rect['x']) + (event.x - self.start_x) y = int(rect['y']) + (event.y - self.start_y) self.app_window.geometry(f'+{x}+{y}') def on_mouse_press(self, event): self.start_x = event.x self.start_y = event.y def get_time(self): timeVar = time.strftime("%H:%M:%S") self.clock.config(text = timeVar) self.clock.after(200, self.get_time) if __name__ == '__main__': Main()

Этот код создает простой виджет часов с использованием Tkinter. Виджет будет обновляться каждую секунду, отображая текущее системное время. Он также будет всегда находиться поверх всех окон и не будет иметь рамки.

Заключение

В этой статье мы рассмотрели, как использовать Python и Tkinter для создания готового виджета часов для вашего рабочего стола. Мы также освоили использование основных функций Tkinter для создания простого, но полезного приложения GUI.

Этот пример можно легко расширить и настроить под ваши потребности. Например, вы можете изменить шрифт и цвет текста, добавить дополнительные функции или интегрировать виджет в другие приложения. Возможности ограничены лишь вашей фантазией!