這是我第一次在這里堆疊溢位,我想學習如何獲取大洲字典的內容并將其放在我每次單擊單選按鈕時創建的串列框中,我想通過詢問其他人來學習新事物比我知識淵博,非常感謝。
#Dictionaries
continents = {
"Asia":["Philippines","Malaysia","Taiwan","Singapore","Thailand","India"],
"Africa":["Algeria","Angola","Egypt","Cape Verde","Liberia","Kenya","Morocco","Nigeria"],
"America":["Venezuela","Peru","Jamaica","United States","Cuba","Chile","Argentina"],
"Europe":["Russia","Germany","United Kingdom","Italy", "Ukraine","France","Belgium"]
}
#Frame One
var = IntVar()
Radiobutton(frame_1, text="Asia", font=("Times",12,"bold"), fg="blue", variable=var, value=1, borderwidth= 1, relief = SOLID,width = 10, command=lambda: Asia_click(var.get())).pack(side = LEFT)
Radiobutton(frame_1, text="Africa", font=("Times",12,"bold"), fg="blue", variable=var, value=2, borderwidth= 1, relief = SOLID,width = 11, command=lambda: Africa_click(var.get())).pack(side = LEFT)
Radiobutton(frame_1, text="America", font=("Times",12,"bold"), fg="blue", variable=var, value=3, borderwidth= 1, relief = SOLID,width = 11, command=lambda: America_click(var.get())).pack(side = LEFT)
Radiobutton(frame_1, text="Europe", font=("Times",12,"bold"), fg="blue", variable=var, value=4, borderwidth= 1, relief = SOLID,width = 11, command=lambda: Europe_click(var.get())).pack(side = LEFT)
#Frame Two
#Listbox and Scrollbar
flag_listbox = Listbox(frame_2)
flag_listbox.pack(side = LEFT, fill = BOTH)
flag_scrollbar = Scrollbar(frame_2)
flag_scrollbar.pack(side = RIGHT, fill = BOTH)
flag_listbox.config(yscrollcommand = flag_scrollbar.set)
flag_scrollbar.config(command = flag_listbox.yview)
#Radio Button click
def Asia_click(Value):
asia_label = Label(root, text=Value)
asia_label.grid()
def Africa_click(Value):
africa_label = Label(root, text=Value)
africa_label.grid()
def America_click(Value):
america_label = Label(root, text=Value)
america_label.grid()
def Europe_click(Value):
europe_label = Label(root, text=Value)
europe_label.grid()
這是我的示例輸出
uj5u.com熱心網友回復:
我對代碼做了一點改動,代碼是
from tkinter import *
# Dictionaries
root = Tk()
frame_1 = Frame(root)
frame_1.pack(expand=TRUE, fill='both', pady=1)
frame_2 = Frame(root)
frame_2.pack(expand=TRUE, fill='both',pady=1)
continents = {
"Asia": ["Philippines", "Malaysia", "Taiwan", "Singapore", "Thailand", "India"],
"Africa": ["Algeria", "Angola", "Egypt", "Cape Verde", "Liberia", "Kenya", "Morocco", "Nigeria"],
"America": ["Venezuela", "Peru", "Jamaica", "United States", "Cuba", "Chile", "Argentina"],
"Europe": ["Russia", "Germany", "United Kingdom", "Italy", "Ukraine", "France", "Belgium"]
}
# Frame One
var = StringVar()
var.set('Select')
Radiobutton(frame_1, text="Asia", font=("Times", 12, "bold"), fg="blue", variable=var, value='Asia', borderwidth=1,
relief=SOLID, width=10, command=lambda: RadioSelected(var.get())).pack(side=LEFT)
Radiobutton(frame_1, text="Africa", font=("Times", 12, "bold"), fg="blue", variable=var, value="Africa", borderwidth=1,
relief=SOLID, width=11, command=lambda: RadioSelected(var.get())).pack(side=LEFT)
Radiobutton(frame_1, text="America", font=("Times", 12, "bold"), fg="blue", variable=var, value="America", borderwidth=1,
relief=SOLID, width=11, command=lambda: RadioSelected(var.get())).pack(side=LEFT)
Radiobutton(frame_1, text="Europe", font=("Times", 12, "bold"), fg="blue", variable=var, value="Europe", borderwidth=1,
relief=SOLID, width=11, command=lambda: RadioSelected(var.get())).pack(side=LEFT)
# Frame Two
# Listbox and Scrollbar
flag_listbox = Listbox(frame_2)
flag_listbox.pack(side=LEFT, fill=BOTH)
flag_scrollbar = Scrollbar(frame_2)
flag_scrollbar.pack(side=RIGHT, fill=BOTH)
flag_listbox.config(yscrollcommand=flag_scrollbar.set)
flag_scrollbar.config(command=flag_listbox.yview)
# Radio Button click
def RadioSelected(Value):
flag_listbox.delete(0, END)
list_values = continents[Value]
for i in list_values:
flag_listbox.insert(END, i)
root.mainloop()
當您單擊單選按鈕時,值會發生變化
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/486912.html
