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 szaryDGRAY = '#161616'- ciemny szary (tło)RGRAY = '#2c2c2c'- regularny szaryMGRAY = '#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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e58cd6fd1cec5c7d3642df31c5325d2002ecf7e25bc8c93b640f2d1017b0a7b
|
|
| MD5 |
4fee1a1ebbd3bdfd21d6a5151c6d9ed6
|
|
| BLAKE2b-256 |
83e93721f9aca2cca16438abd312225e72a7849a5f1c94d40f6b5c22272f01a8
|
File details
Details for the file betterwindow_ak251452-0.1.0-py3-none-any.whl.
File metadata
- Download URL: betterwindow_ak251452-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fece936a530f080c06d4664563cbd695c0837df8aa60905ed388b441a00441d
|
|
| MD5 |
ecfe17a308c13ef52c6c857aeadc3b9d
|
|
| BLAKE2b-256 |
ea26db5e62de4956b8fec5de6969955baab72e637855692903c6587c40d35f80
|