Skip to main content

Biblioteka do tworzenia niestandardowych okien tkinter z własnym paskiem tytułu i przyciskami.

Project description

🪟 BetterWindow

BetterWindow to nowoczesna biblioteka Python ułatwiająca tworzenie niestandardowych okien w tkinter.
Dodaje własny pasek tytułu, przyciski minimalizacji i zamknięcia, a także przyciski z efektami hover.

✨ Funkcje

  • 🎨 CustomTk – główne okno aplikacji z własnym paskiem tytułu
  • 🗨️ CustomToplevel – dodatkowe okna dialogowe (modalne i niemodalne)
  • 🖱️ Przeciąganie okien – intuicyjne przesuwanie okien poprzez pasek tytułu
  • CButton – przyciski z efektami hover i animacjami wciśnięcia
  • 🖥️ Kompatybilność wieloplatformowa – działa na Windows, macOS, Linux
  • 🎯 Łatwa integracja – prosta wymiana standardowych komponentów tkinter

📦 Instalacja

pip install betterwindow

🚀 Szybki start

from betterwindow import CustomTk, CButton

# Utwórz główne okno aplikacji
app = CustomTk()
app.set_title("Moja aplikacja")

# Dodaj przycisk z efektami hover
btn = CButton(app.window, text="Kliknij mnie!", command=lambda: print("Kliknięto!"))
btn.pack(pady=20)

# Uruchom aplikację
app.mainloop()

📋 Pełny przykład

from betterwindow import CustomTk, CButton, CustomToplevel
import tkinter as tk

class MojaAplikacja:
    def __init__(self):
        # Główne okno
        self.app = CustomTk()
        self.app.set_title("Przykład BetterWindow")
        
        # Zawartość okna
        label = tk.Label(self.app.window, text="Witaj w BetterWindow!", 
                        bg=self.app.DGRAY, fg='lightgray', 
                        font=('Arial', 14))
        label.pack(pady=20)
        
        # Przyciski
        btn1 = CButton(self.app.window, text="Pokaż dialog", 
                      command=self.pokaz_dialog)
        btn1.pack(pady=5)
        
        btn2 = CButton(self.app.window, text="Zamknij", 
                      command=self.app.destroy)
        btn2.pack(pady=5)
    
    def pokaz_dialog(self):
        # Okno dialogowe
        dialog = CustomToplevel(self.app)
        dialog.set_title("Dialog")
        dialog.geometry("300x200")
        
        tk.Label(dialog.window, text="To jest okno dialogowe!", 
                bg=dialog.DGRAY, fg='lightgray').pack(pady=20)
        
        CButton(dialog.window, text="Zamknij", 
               command=dialog.destroy).pack()
    
    def uruchom(self):
        self.app.mainloop()

# Uruchom aplikację
if __name__ == "__main__":
    app = MojaAplikacja()
    app.uruchom()

🎮 Demo i przykłady

Po zainstalowaniu możesz uruchomić przykład demonstracyjny:

python example.py

Przykład pokazuje:

  • Przeciąganie okien za pasek tytułu
  • Minimalizację i zamykanie okien
  • Efekty hover na przyciskach
  • Okna modalne i niemodalne
  • Stylizację i kolory

🔧 Dokumentacja API

CustomTk

Główne okno aplikacji oparte na tkinter.Tk.

app = CustomTk()
app.set_title("Tytuł okna")        # Ustaw tytuł
app.geometry("800x600")            # Ustaw rozmiar
app.mainloop()                     # Uruchom aplikację

CustomToplevel

Dodatkowe okna dialogowe oparte na tkinter.Toplevel.

# Okno niemodalne
dialog = CustomToplevel()

# Okno modalne
modal = CustomToplevel(parent_window)

CButton

Przycisk z efektami wizualnymi.

btn = CButton(parent, text="Tekst", command=funkcja)
btn.pack()

Kolory motywu

Biblioteka używa spójnego motywu kolorów:

  • LGRAY = '#232323' - jasny szary
  • DGRAY = '#161616' - ciemny szary (tło)
  • RGRAY = '#2c2c2c' - regularny szary
  • MGRAY = '#1D1c1c' - średni szary

🖥️ Kompatybilność

  • Python: 3.7+
  • Systemy: Windows, macOS, Linux
  • Zależności: tkinter (wbudowane w Python)

📄 Licencja

MIT License - szczegóły w pliku LICENSE.txt.

🤝 Rozwój

Projekt jest otwarty na pull requesty i sugestie. GitHub: BetterWindow


BetterWindow - Czyń tkinter piękniejszym! 🎨

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

betterwindow_ak251452-0.1.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

betterwindow_ak251452-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file betterwindow_ak251452-0.1.0.tar.gz.

File metadata

  • Download URL: betterwindow_ak251452-0.1.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for betterwindow_ak251452-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e58cd6fd1cec5c7d3642df31c5325d2002ecf7e25bc8c93b640f2d1017b0a7b
MD5 4fee1a1ebbd3bdfd21d6a5151c6d9ed6
BLAKE2b-256 83e93721f9aca2cca16438abd312225e72a7849a5f1c94d40f6b5c22272f01a8

See more details on using hashes here.

File details

Details for the file betterwindow_ak251452-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for betterwindow_ak251452-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fece936a530f080c06d4664563cbd695c0837df8aa60905ed388b441a00441d
MD5 ecfe17a308c13ef52c6c857aeadc3b9d
BLAKE2b-256 ea26db5e62de4956b8fec5de6969955baab72e637855692903c6587c40d35f80

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page