0
Kullanıcı, OptionMenu
listesinden bir seçenek seçerse, bu seçenek devre dışı bırakılmalıdır.OptionMenu'da tek bir seçeneği nasıl devre dışı bırakırım?
Örnek: kullanıcı "a" yı seçerse, "a" seçeneği devre dışı bırakılmalı ve kullanıcı yalnızca b veya c öğesini seçebilir. Aşağıdaki kodu denedim, ancak gösterilen şekilde hatayı döndürür. menubutton
'u istemiyorum. OptionMenu
amacına hizmet edecek, ancak menubutton
değil.
import tkinter as tk
from tkinter import *
class Disable_state(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
va = StringVar()
NAMES = { 'a' : 0, 'b' : 1, 'c' : 2 }
op = list(NAMES.keys())
self.menu = OptionMenu(self.parent, va, *op,command = lambda op: self.disable_option(op))
self.menu.grid(column=0, row=0)
def disable_option(self,op):
self.menu.config(op, state = "disabled")
if __name__ =="__main__":
root= Tk()
o = Disable_state(root)
root.mainloop()
hata
self.menu.config(op, state = "disabled")
File "C:\Python34\lib\tkinter\__init__.py", line 1319, in configure
return self._configure('configure', cnf, kw)
File "C:\Python34\lib\tkinter\__init__.py", line 1303, in _configure
cnf = _cnfmerge((cnf, kw))
File "C:\Python34\lib\tkinter\__init__.py", line 105, in _cnfmerge
cnf.update(c)
ValueError: dictionary update sequence element #0 has length 1; 2 is required