import tkinter
screen = tkinter.Tk()
Label1 = tkinter.Label(master=screen,text="selam dünya")
Label1.place(relx=0.10, rely=0.60, relwidth=0.60, relheight=0.10)
def yazıboyutudegiştir():
width = screen.winfo_width()
height = screen.winfo_height()
yeniboyut = (width+height)/30
Label1.config(font=str(yeniboyut))
screen.bind_all("<Configure>", lambda event: yazıboyutudegiştir())
screen.mainloop()
merhaba bu koddaki amacım ekran boyutu büyüdügünde ekrandaki yazılarında büyümesini sağlamak fakat ekranı büyüttüğümde yazılar büyümüyor sebebi nedir.
import tkinter
screen = tkinter.Tk()
Label1 = tkinter.Label(master=screen,text="selam dünya")
Label1.place(relx=0.10, rely=0.60, relwidth=0.60, relheight=0.10)
def yazıboyutudegiştir(event):
width = screen.winfo_width()
height = screen.winfo_height()
yeniboyut = (width+height)/30
Label1.config(font=(".", int(yeniboyut)))
screen.bind_all("<Configure>", yazıboyutudegiştir)
screen.mainloop()
2 Beğeni
import tkinter
screen = tkinter.Tk()
Label1 = tkinter.Label(master=screen,text=“selam dünya”,font="<yazı tipi> 13")
Label1.place(relx=0.10, rely=0.60, relwidth=0.60, relheight=0.10)
def yazıboyutudegiştir():
width = screen.winfo_width()
height = screen.winfo_height()
yeniboyut = (width+height)/30
Label1.config(font=str(yeniboyut))
screen.bind_all("", lambda event: yazıboyutudegiştir())
screen.mainloop()
Traceback (most recent call last):
File “”, line 3
Label1 = tkinter.Label(master=screen,text=“selam dünya”,font="<yazı tipi> 13")
^
SyntaxError: invalid character ‘“’ (U+201C)
hatalarını alıyorum.
<yazı tipi> yazdığım yere istediğin bir yazı tipini yaz 13 yazan yerede yazının boyutunu yaz
teşekkür ederim kod calışıyor fakat yazıboyutudeğiştir fonksiyonuna neden “event” diye bir arguman eklemenizin sebebi nedir?
import tkinter
screen = tkinter.Tk()
Label1 = tkinter.Label(master=screen, text="selam dünya")
Label1.place(relx=0.10, rely=0.60, relwidth=0.60, relheight=0.10)
def yaziboyutudegistir(event):
width = screen.winfo_width()
height = screen.winfo_height()
yeniboyut = (width+height)/30
Label1.config(font=(".", int(yeniboyut)))
screen.bind_all("<Configure>", lambda event: yaziboyutudegistir(event))
screen.mainloop()
bind olayları event oluyor. PEP-8 yazım düzenine göre kodunu biraz daha düzenledim. fonksiyon ve değişkenlerde türkçe isim vermemek lazım, fonksiyonlardan önce ve sonra 2 satır boşluk vermekte gerekir.
Diger bir hususta,
Label1.config(font=(".", int(yeniboyut)))
“.” şeklinde fontun adını belirtmeden sistem tarafından kullanılan fontu işaret ettim. Font belirlerken 2 şekilde de yazan oluyor font= “Arial 12 bold” yada font=("Arial, 12, “bold”) şeklinde yazılıyor. Ben 2.cisine göre yazdım.
yeniboyut = (width+height)/30
bu kısımda ise yükseklik ve genişliği toplayıp /30 a bölünce float bir sayı döndürüyor. küsüratlı bir sayı font değeri olmaz, onun yerine int e çevirdim.
Label1.config(font=(".", int(yeniboyut)))
burasını Label1.config(font=(“Arial”, int(yeniboyut))) veya hangi fontu kullanacaksan ona göre ayarlayabilirsin.
1 Beğeni