python customtkinterde uygulamanın boyutunu dinamik hale getirmek

Python programlama dili hakkında bilgiler, kaynaklar, dokümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
medet
Forum Üyesi
Forum Üyesi
Mesajlar: 1
Kayıt: 11 Mar 2025 17:55

python customtkinterde uygulamanın boyutunu dinamik hale getirmek

Mesaj gönderen medet »

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
trasmus
ARGE Ekip Üyesi
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

Mesaj gönderen trasmus »

Pencere boyutuna göre butonların oranını ayarlayabilirsin.
Şu adres senin işini görecek bilgi ve örnek bir çalışma içeriyor: Tkinter place Geometry Yöneticisi
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
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

Mesaj gönderen TRWE_2012 »

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
veya yöntemlerini kullanarak, widget'ların boyutlarını ve aralıklarını dinamik olarak ayarlayabilirsin.

Örneğin, kullanıyorsan,

Kod: Tümünü seç

sticky
parametresi ile widget'ların genişliğini ve yüksekliğini ayarlayabilirsin.

Ö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()
2. Font Boyutunu Dinamik Olarak Ayarlama

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())
3. Frame Kullanarak Düzenleme

Uygulamanızda

Kod: Tümünü seç

Frame
kullanarak, widget'larını gruplandırabilir ve bu grupların boyutlarını dinamik olarak ayarlayabilirsin. Bu, daha düzenli bir görünüm sağlar.

Ö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())
4. Ekran Boyutunu Kullanarak Orantılı Boyutlandırma

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!
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim
Cevapla

“Python Programlama” sayfasına dön