【发布时间】:2022-08-18 18:24:56
【问题描述】:
我正在尝试从绑定的组合框中检索选定的值。
在下面的代码中,我将名为“LSF_Combo”的组合框绑定到另一个组合框“Queue _Combo”。我正在尝试使用 Queue_Combo.get() 方法从“Queue_Combo”中检索选定的值,但我无法这样做,因为它的范围仅限于 LSF_fields_Enable(event) 内部函数。我可以使用 LSF_Combo.get() 方法检索 LSF_Combo 的选定值。
如果有人对从“Queue_Combo”组合框中检索所选值有任何建议,请告诉我。
\'\'\'
from tkinter import *
import tkinter as tk
from tkinter import ttk
root = Tk()
root.geometry(\"300x250\")
def Gui_main():
Queue_Combo = ttk.Combobox(root)
def LSF_Fields_Enable(event):
# global Queue_Combo, VCO_Combo, OS_Combo
nonlocal Queue_Combo
VCO_1 = None
if LSF_Combo.get() == \'LSF\':
# # section for Queue Type
Queue_Combo_label = tk.Label(root, text=\"Queue: \").grid(row=2, column=1, padx=10,sticky=W)
Queue_Combo_list = [\'normal\', \'priority\', \'devices\', \'grid\']
Queue_Combo = ttk.Combobox(root, values=Queue_Combo_list, width=10, state=\"readonly\")
Queue_Combo.set(\"normal\")
Queue_Combo.grid(row=2, column=1, padx=55, pady=5, sticky=W)
# print(Queue_Combo.get())
return Queue_Combo.get()
# LSF_Fields_Enable()
LSF_Combo_label = tk.Label(root, text=\"Fill: \").grid(row=2, column=0, sticky=W)
LSF_Combo_list = [\'LSF\', \'LOCAL\']
LSF_Combo = ttk.Combobox(root, values=LSF_Combo_list, width=10, state=\"readonly\", background=\'white\')
LSF_Combo.set(\'LSF\')
LSF_Combo.grid(row=2, column=0, padx=25, pady=5, sticky=W)
LSF_Combo.bind(\'<<ComboboxSelected>>\', LSF_Fields_Enable)
# a = LSF_Combo.bind(\"<Return\", LSF_Fields_Enable)
def test_bind():
print(LSF_Combo.get())
print(Queue_Combo.get())
test_bind()
close = Button(root, text =\'close\', command= root.destroy).grid(row=10, pady=60, sticky=E)
root.mainloop()
if __name__ == \"__main__\":
Gui_main()
\'\'\'