Python Tkinter Soru
-
bt1=Button(master,width=13, height=2, text="Yarım Saat", command=yarimsaat) bt2=Button(master,width=13, height=2, text="Bir saat", command=birsaat) bt3=Button(master,width=13, height=2, text="Bir buçuk saat", command=birbucuksaat) bt4=Button(master,width=13, height=2, text="Zamanlayıcı iptal", command=zamanlayiciiptal) bt1.place(x=100, y=20) bt2.place(x=100, y=80) bt3.place(x=100, y=140) bt4.place(x=100, y=200)
butonlara ayrı ayrı place ayarlayıp 4 satır yazmak yerine tek satırda halledebileceğim bi komut var mı?
Huerfanos tarafından 13/Mar/22 00:54 tarihinde düzenlenmiştir
Ya da bt1 bt2 diye değişken vermeden Button parantezi içinde parametre olarak bunu yapabilecek bi kod var mı? -
buttons diye bir array olustur, butonlari bu array icine pushla.
sonrasinda ise for loop ile yapmak istedigini yap :))
-
buttonInfoArray=[
{'text': 'Yarım Saat', 'command': yarimsaat},
{'text': 'Bir saat', 'command': birsaat},
{'text': 'Bir buçuk saat', 'command': birbucuksaat},
{'text': 'Zamanlayıcı iptal', 'command': zamanlayiciiptal}
]
[ tk.Button(window,width=13, height=2, text=buttonInfo['text'], command=buttonInfo['command']).place(x=100,y=i*60+20) for i,buttonInfo in enumerate(buttonInfoArray) ] -
buttonInfoArray bunun içine istediğini devam ettirebilirsin kendisi peş peşe koyat butonları
-
PyQt5 kullanırsan eğer QT Designer diye bir program var. Bu programla daha kolay bir şekilde arayüz hazırlanabiliyor.
https://kadakod.com/python-ile-grafik-arayuz-hazirlama-qt-designer