python customtkinterde uygulamanın boyutunu dinamik hale getirmek
python customtkinterde uygulamanın boyutunu dinamik hale getirmek
-
- ARGE Ekip Üyesi
- Mesajlar: 76
- Kayıt: 28 Eyl 2023 14:47
- Teşekkür etti: 30 kez
- Teşekkür edildi: 86 kez
Re: python customtkinterde uygulamanın boyutunu dinamik hale getirmek
Şu adres senin işini görecek bilgi ve örnek bir çalışma içeriyor: Tkinter place Geometry Yöneticisi
- TRWE_2012
- Mesaj Panosu Yöneticisi
- Mesajlar: 904
- Kayıt: 30 Ağu 2022 21:59
- Konum: DÜZCE/Akçakoca
- Meslek: MADEN MÜHENDİSİ
- Teşekkür etti: 254 kez
- Teşekkür edildi: 754 kez
- İletişim:
Re: python customtkinterde uygulamanın boyutunu dinamik hale getirmek
medet yazdı: 11 Mar 2025 18:02 merhaba arkadaşlar python customtkinter ile kendime basit bir uygulama yazdım fakat bu uygulamayı okulda akıllı tahtada açmayı denediğimde pencere boyutunda pek bir sıkıntı yokta fakat uygulamanın içindeki nesneler cok kucuk kalmıs, aralarındaki aralık baya artmıştı ben bu uygulamamı nasıl dinamik hale getirebilirim ekran boyutuna gore buton, resim vs. boyutlandırabilirim ? kodu atmak isterdim ama cok uzun eger gerekirse atarım teşşekürler
Merhaba!
Python'da customtkinter kullanarak yaptığın uygulamanın içindeki nesnelerin ekran boyutuna göre dinamik olarak boyutlandırılması için birkaç yöntem deneyebilirsin.
1. Grid veya Pack Yöntemleri ile Dinamik Yerleşim
Kod: Tümünü seç
grid
Kod: Tümünü seç
pack
Örneğin,
Kod: Tümünü seç
grid
Kod: Tümünü seç
sticky
Örnek:
Kod: Tümünü seç
import customtkinter as ctk
def resize_widgets():
width = root.winfo_width()
height = root.winfo_height()
# Örnek: Buton boyutunu ekran boyutuna göre ayarlama
button_width = int(width * 0.2) # Ekranın %20'si
button_height = int(height * 0.1) # Ekranın %10'u
button.config(width=button_width, height=button_height)
root = ctk.CTk()
root.geometry("800x600")
button = ctk.CTkButton(root, text="Dinamik Buton")
button.pack(pady=20)
# Ekran boyutu değiştiğinde widget'ları yeniden boyutlandır
root.bind("<Configure>", lambda e: resize_widgets())
root.mainloop()
Font boyutunu da ekran boyutuna göre ayarlamak isteyebilirsin. Aşağıdaki örnekte, ekran boyutuna göre font boyutunu dinamik olarak ayarlıyoruz:
Örnek:
Kod: Tümünü seç
def resize_font():
width = root.winfo_width()
height = root.winfo_height()
# Font boyutunu ekran boyutuna göre ayarlama
font_size = int(min(width, height) * 0.02) # Ekranın %2'si
label.config(font=("Arial", font_size))
label = ctk.CTkLabel(root, text="Dinamik Font")
label.pack(pady=20)
# Ekran boyutu değiştiğinde font'u yeniden boyutlandır
root.bind("<Configure>", lambda e: resize_font())
Uygulamanızda
Kod: Tümünü seç
Frame
Örnek:
Kod: Tümünü seç
frame = ctk.CTkFrame(root)
frame.pack(fill="both", expand=True)
# Frame içindeki widget'ları dinamik olarak boyutlandırma
def resize_frame_widgets():
for widget in frame.winfo_children():
widget.config(width=frame.winfo_width() // 2) # Frame genişliğinin yarısı
frame.bind("<Configure>", lambda e: resize_frame_widgets())
Ekran boyutunu kullanarak, widget'larının boyutlarını orantılı olarak ayarlayabilirsin. Bu, uygulamanın farklı ekran boyutlarında daha iyi görünmesini sağlar.
Özetle anlatmak istediğimi özetlersek;
Bu yöntemleri kullanarak, customtkinter ile geliştirdiğin uygulamanın içindeki nesneleri dinamik hale getirebilir ve ekran boyutuna göre boyutlandırabilirsin.
İyi çalışmalar!

