Python optionmenu


#1

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


#2

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()

#3

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


#4

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.


#5

Bahsettiğiniz modülü yüklerken bu hatayı alıyorum…
En güncel pip versiyonunu kullanıyorum


#6

Merhaba @vursace,
@ismailarilik’in paylaştığı linke tıklamanızı öneririm.