如何从Python线程中的组合框中获取值

2024-09-30 05:32:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个tkintergui,可以从不同的组合框中选择值。 Comboboxes

我在一个类中定义了组合框,并将字符串(可以选择)映射到值:

class PropTwo(tk.Frame):

def __init__(self,parent,controller):
    tk.Frame.__init__(self, parent)
    label = tk.Label(self, text="Properties", font=LARGE_FONT)
    label.pack(pady=10,padx=10)
    ...
    ...
     #Settings Filter Frequency
    texts2y = tk.Label(self, text = 'Choose Filter Frequency [Bandwith]', font = Standard_Font)
    texts2y.pack(side = tk.TOP, padx=5, pady=5)
    global mappingFiFreq
    global cbs2y
    self.valuesS2Y = tk.StringVar()
    fifreq =['7,81Hz','15,63Hz','31,25Hz','62,5Hz','125Hz','250Hz','500Hz',
             '1000Hz']
    mappingFiFreq = {'7,81Hz':'8', '15,63Hz':'1','31,25Hz':'2','62,5Hz':'3','125Hz':'4',
                     '250Hz':'5','500Hz':'6','1000Hz':'7' }
    cbs2y = ttk.Combobox(self,textvariable = self.valuesS2Y, values=fifreq, state = 'readonly')
    cbs2y.current(7)
    cbs2y.bind('<<ComboboxSelected>>', lambda: updateCombo(cbs2y,mappingFiFreq))       
    cbs2y.pack(side = tk.TOP)

... #code for the other comoboxes has the same syntax
...

def updateCombo(combobox,direc):
    curVal = direc[combobox.get()]
    return curVal

我想得到线程中combobox的值:

^{pr2}$

我从主线程开始:

^{3}$

当我执行代码时,有时它会起作用,有时会出现一个错误: KeyError:'应为布尔值,但得到“??” 和'2cbsy()的值:'2cbsy()的值:' 所以这次地图没用。在

但我不知道为什么有时会出现这种错误,以及如何解决它。在

我真的很乐意得到任何帮助!在


Tags: textselfinitdefframelabelpacktk

热门问题