Как отключить Combobox в Tkinter?

в принципе, я хочу отключить определенный Combobox, основанный на значении другого combobox. Я не мог найти ответ на этот вопрос, может потому что очень редко в ComboBox.

у меня есть код более или менее как следует...

    self.cBox1Var=tki.StringVar()
    self.cBox1=ttk.Combobox(self.mframe, width=16, textvariable=self.cBox1Var, state='readonly',values=['Text entry','Combo box','Check button'])
    self.cBox1.grid(row=0,column=1,sticky=tki.W)
    self.cBox1Var.set('Text entry')
    self.cBox1Var.bind("<<ComboboxSelected>>", lambda event, count=count: self.EnableDisableParamFields(event, count))

    self.cBox2Var=tki.StringVar()
    self.cBox2=ttk.Combobox(self.mframe, width=16, textvariable=self.cBox2Var, state='readonly',values=['String','Integer','Float'])
    self.cBox2.grid(row=0,column=2,sticky=tki.W)
    self.cBox2Var.set('String')

...

def EnableDisableParamFields(self, event, count):
    if self.cBox1Var.get()=='Combo box':  #disable 'Entry format combo box'
        #disable "self.cBox2"
    else:
        #enable "self.cBox2"

спасибо заранее

редактировать!!!!

после упорства, нашел ответ, и это довольно просто. Для тех, кто может быть заинтересован, решение можно найти здесь:http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_combobox.htm

"state= 'disabled', 'readonly' или 'normal'"

1 ответов


вы хотите использовать на state='disabled'.

есть три варианта state следующим образом:

  • state='normal', который является полностью функциональной Combobox.
  • state='readonly' что это Combobox со значением, но может быть изменен (напрямую).
  • state='disabled' где Combobox невозможно взаимодействовать.