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

0 Likes

#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()
1 Like

#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

0 Likes

#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.

0 Likes

#5

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

0 Likes

#6

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

0 Likes

#7

Belirtilen kaynaktan indirip yükleme yapmama rağmen yine hata alıyorum

0 Likes

#8

Hocam birsey indirmeniz gerekmiyor ki. Standart kutuphane modulu bu. @ismailarilik’in paylastigi linke bir daha bakin lutfen.

0 Likes

#9

çok teşekkür ederim…Ben de direk pycharm üzreinden diğer modüller gibi indirilcek zannediyordum…Tekrar teşekkkür ederim.

0 Likes

#10

Direkt olarak stringerlere bağlayamıyor myum sayılara?

0 Likes

#11

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.

0 Likes