Merhaba arkadaşlar tkinter modülünde optionmenu üzerinde çalışıyorum.
İstediğim Birinci optionemenu’da olan değerin ,ikinci optionmenuyu tetiklemesi…Mesela Birinci
optionmenu da İStanbulu seçince ikinci Optionmenu’da istanbulun ilçeleri çıkacak gibi
Merhaba, aşağıdaki kodları bir inceleyin isterseniz.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
master = tk.Tk()
svar1 = tk.StringVar(master)
svar1.set(None)
svar2 = tk.StringVar(master)
svar2.set(None)
def func(event):
global om2
if svar1.get() == "İstanbul":
om2 = tk.OptionMenu(master, svar2, "Kadıköy", "Kartal")
om2.pack()
else:
om2.destroy()
om1 = tk.OptionMenu(master, svar1, "İstanbul", "Ankara", "İzmir",
command=func)
om1.pack()
master.mainloop()
Verdiğiniz yanıt için teşekkür ederim…Eklenti olarak Option Menu içerisindeki stringlere sayısal değerler atayabilir miyim…Yani İstanbul seçtiğim zaman arka planda sayısal değeri seçicek
Açıkçası ben olduğunu sanmıyorum, zaten öyle karışık olur. En güzeli Enum kullanarak stringleri sayılara bağlayın, daha sonra string değerin sayı karşılığını bulabilirsiniz. Enum kullanmak yerine bir sözlük de kullanabilirsiniz.
Hocam birsey indirmeniz gerekmiyor ki. Standart kutuphane modulu bu. @ismailarilik’in paylastigi linke bir daha bakin lutfen.
çok teşekkür ederim…Ben de direk pycharm üzreinden diğer modüller gibi indirilcek zannediyordum…Tekrar teşekkkür ederim.
Direkt olarak stringerlere bağlayamıyor myum sayılara?
Sözlük kullanarak bağlarsınız. Açıkçası enum kullanmak ile bunu kullanmak arasında kullanım amacı olarak fark var. Eğer karakter dizilerini sayılar gibi kullanabilmek istiyorsanız, enum kullanmanız daha uygun. Eğer karakter dizilerini sayılara bağlamak istiyorsanız, sözlük kullanmanız daha uygun. Sizin durumunuzda sözlük kullanımı daha uygun geldi bana.