我有一個組合框,我在其中選擇性別男性或女性。然后我有另一個組合框,現在顯示所有人的名字(不區分性別)。
我想從第一個組合框中選擇男性,并在第二個組合框中自動顯示(不帶按鈕)男性名稱。女性名字也是如此。謝謝
from tkinter import ttk
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.attributes('-zoomed', True)
window.configure(bg='#f3f2f2')
style = ttk.Style(window)
style.theme_use('clam')
John = {"Name": "John", "Years": 1980, "Gender": "Male"}
Linda = {"Name": "Linda", "Years": 1983, "Gender": "Female"}
Martin = {"Name": "Martin", "Years": 1981, "Gender": "Male"}
gender=ttk.Combobox(window, width = 12)
gender.place(x=5, y=60)
gender['value'] = ["Male", "Female"]
gender.set("Gender?")
all_name=ttk.Combobox(window, width = 12)
all_name.place(x=150, y=60)
all_name['value'] = [x["Name"] for x in [John, Linda, Martin]]
all_name.set("All Name")
window.mainloop()
uj5u.com熱心網友回復:
您可以在事件回呼中系結<<ComboboxSelected>>事件gender和更新value選項:all_name
...
def on_gender_selected(event):
selected = gender.get()
# get the names for selected gender
all_name['value'] = [x['Name'] for x in [John, Linda, Martin] if x['Gender'] == selected]
all_name.set('') # clear current selection
gender.bind('<<ComboboxSelected>>', on_gender_selected)
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/497213.html
標籤:Python python-3.x 字典 tkinter
上一篇:在IntelliJ中恢復多個提交
