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])

里面什么都没有发生,所发生的只是您从组合框选择中获取密钥并打印出相应的值对。

希望你明白了,如果你有更多的疑问,请告诉我。

干杯