#!/usr/bin/env python3 # -*- coding: utf-8 -*- import tkinter as tk from tkinter import ttk, BOTH, X, BOTTOM, END import webbrowser class AboutWindow(tk.Toplevel): def __init__(self, parent): super().__init__(parent) self.title("О программе") self.geometry("600x500") self.resizable(False, False) # Сохраняем ссылку на родительское окно self.parent = parent # Создаем фрейм для содержимого about_frame = ttk.Frame(self, padding="20") about_frame.pack(fill=BOTH, expand=True, padx=10, pady=10) # Заголовок ttk.Label( about_frame, text="ComConfigCopy", font=("Segoe UI", 16, "bold") ).pack(pady=(0, 10)) # Описание ttk.Label( about_frame, text="Программа для копирования конфигураций на коммутаторы", wraplength=350 ).pack(pady=(0, 20)) # Версия ttk.Label( about_frame, text=f"Версия {getattr(parent, 'VERSION', '1.0.0')}", font=("Segoe UI", 10) ).pack(pady=(0, 20)) # Контактная информация contact_frame = ttk.Frame(about_frame) contact_frame.pack(fill=X, pady=(0, 20)) # Исходный код ttk.Label( contact_frame, text="Исходный код:", font=("Segoe UI", 10, "bold") ).pack(anchor="w") source_link = ttk.Label( contact_frame, text="https://gitea.filow.ru/LowaSC/ComConfigCopy", cursor="hand2", foreground="blue" ) source_link.pack(anchor="w") source_link.bind("", lambda e: self.open_url("https://gitea.filow.ru/LowaSC/ComConfigCopy")) # Контакты ttk.Label( contact_frame, text="\nКонтакты:", font=("Segoe UI", 10, "bold") ).pack(anchor="w") ttk.Label( contact_frame, text="Email: LowaWorkMail@gmail.com" ).pack(anchor="w") telegram_link = ttk.Label( contact_frame, text="Telegram: @LowaSC", cursor="hand2", foreground="blue" ) telegram_link.pack(anchor="w") telegram_link.bind("", lambda e: self.open_url("https://t.me/LowaSC")) # Кнопка закрытия ttk.Button( self, text="Закрыть", command=self.destroy ).pack(side=BOTTOM, pady=10) # Центрируем окно self.center_window() def center_window(self): self.update_idletasks() width = self.winfo_width() height = self.winfo_height() x = (self.winfo_screenwidth() // 2) - (width // 2) y = (self.winfo_screenheight() // 2) - (height // 2) self.geometry(f"{width}x{height}+{x}+{y}") def open_url(self, url): webbrowser.open(url)