Python tkinter combobox,我怎样才能 select 字典键并打印相应的值?
Python tkinter combobox, how can I select dictionary key and print corresponding value?
python 和 tkinter 非常新。我想创建多个组合框,独立于单个字典 selecting,然后在单击“提交”按钮后打印相应的值。通过查看类似的问题而没有错误和沮丧,我所能做的就是打印 selected 键。
简单地说,我想 select 第一个组合框的 A4 和第二个组合框的 A7,单击提交,在 python shell:
8.3 x 11.7
2.9 x 4.1
而不是这个结果:
A4
A7
如有任何建议,我们将不胜感激。
import tkinter as tk
from tkinter import ttk
# Create instance
win = tk.Tk()
# Dictionary for combobox selection
Paper_sizes = {"":"", "A9":"1.5 x 2.0", "A8":"2.0 x 2.9",
"A7":"2.9 x 4.1", "A6":"4.1 x 5.8", "A5":"5.8 x 8.3",
"A4":"8.3 x 11.7", "A3":"11.7 x 16.5", "A2":"16.5 x 23.4",
"A1":"23.4 x 33.1", "A0":"33.1 x 46.8"}
# Combobox 1
ttk.Label(win, text="Choose a paper size").grid(column=1, row=0)
paper1 = tk.StringVar()
paper1_chosen = ttk.Combobox(win, width=12, textvariable=paper1, state='readonly')
paper1_chosen['values'] = sorted(list(Paper_sizes.keys()))
paper1_chosen.grid(column=1, row=1)
paper1_chosen.current(0)
# Combobox 2
ttk.Label(win, text="Choose a 2nd paper size").grid(column=1, row=2)
paper2 = tk.StringVar()
paper2_chosen = ttk.Combobox(win, width=12, textvariable=paper2, state='readonly')
paper2_chosen['values'] = sorted(list(Paper_sizes.keys()))
paper2_chosen.grid(column=1, row=3)
paper2_chosen.current(0)
# Button Click Event Function
def submit_button():
print(paper1_chosen.get())
print(paper2_chosen.get())
# Adding a Button
action = ttk.Button(win, text = "Submit", command = submit_button)
action.grid(column=2, row=4)
# Start GUI
win.mainloop()
将你的功能改成这个,对你有帮助吗?
def submit_button():
key1 = paper1_chosen.get()
key2 = paper2_chosen.get()
print(Paper_sizes[key1])
print(Paper_sizes[key2])
里面什么都没有发生,所发生的只是您从组合框选择中获取密钥并打印出相应的值对。
希望你明白了,如果你有更多的疑问,请告诉我。
干杯
python 和 tkinter 非常新。我想创建多个组合框,独立于单个字典 selecting,然后在单击“提交”按钮后打印相应的值。通过查看类似的问题而没有错误和沮丧,我所能做的就是打印 selected 键。
简单地说,我想 select 第一个组合框的 A4 和第二个组合框的 A7,单击提交,在 python shell:
8.3 x 11.7
2.9 x 4.1
而不是这个结果:
A4
A7
如有任何建议,我们将不胜感激。
import tkinter as tk
from tkinter import ttk
# Create instance
win = tk.Tk()
# Dictionary for combobox selection
Paper_sizes = {"":"", "A9":"1.5 x 2.0", "A8":"2.0 x 2.9",
"A7":"2.9 x 4.1", "A6":"4.1 x 5.8", "A5":"5.8 x 8.3",
"A4":"8.3 x 11.7", "A3":"11.7 x 16.5", "A2":"16.5 x 23.4",
"A1":"23.4 x 33.1", "A0":"33.1 x 46.8"}
# Combobox 1
ttk.Label(win, text="Choose a paper size").grid(column=1, row=0)
paper1 = tk.StringVar()
paper1_chosen = ttk.Combobox(win, width=12, textvariable=paper1, state='readonly')
paper1_chosen['values'] = sorted(list(Paper_sizes.keys()))
paper1_chosen.grid(column=1, row=1)
paper1_chosen.current(0)
# Combobox 2
ttk.Label(win, text="Choose a 2nd paper size").grid(column=1, row=2)
paper2 = tk.StringVar()
paper2_chosen = ttk.Combobox(win, width=12, textvariable=paper2, state='readonly')
paper2_chosen['values'] = sorted(list(Paper_sizes.keys()))
paper2_chosen.grid(column=1, row=3)
paper2_chosen.current(0)
# Button Click Event Function
def submit_button():
print(paper1_chosen.get())
print(paper2_chosen.get())
# Adding a Button
action = ttk.Button(win, text = "Submit", command = submit_button)
action.grid(column=2, row=4)
# Start GUI
win.mainloop()
将你的功能改成这个,对你有帮助吗?
def submit_button():
key1 = paper1_chosen.get()
key2 = paper2_chosen.get()
print(Paper_sizes[key1])
print(Paper_sizes[key2])
里面什么都没有发生,所发生的只是您从组合框选择中获取密钥并打印出相应的值对。
希望你明白了,如果你有更多的疑问,请告诉我。
干杯