方法一:选项菜单
第一种方法是使用来自tkinter 的OptionMenu。您必须创建一个包含所有所需选项的列表。然后你需要有一个variable 来保存有关当前选择了哪个按钮的信息。
有用的资源: How can I create a dropdown menu from a List in Tkinter?
示例代码:
from tkinter import *
root = Tk()
root.geometry("300x300")
OPTIONS = [
"Option 1",
"Option 2",
"Option 3"
] #etc
variable = StringVar()
variable.set(OPTIONS[0]) # default value
w = OptionMenu(root, variable, *OPTIONS)
w.pack()
root.mainloop()
输出:
方法二:单选按钮
您可以在 tkinter 中使用 Radiobutton 来进行选择。
您需要传入的参数是window,即root,text 将显示在选项按钮中,shared variable 包含有关当前是哪个按钮的信息被选中,并且唯一的value 来区分这个单选按钮。
注意:每个单选按钮应该有一个不同的唯一value,否则会选择多个单选按钮。
要传入的参数:
button = Radiobutton(root, text="Name on Button", variable = “shared variable”, value = “values of each button”)
关于Radiobutton的有用资源 -
- Radio button values in Python Tkinter
-
https://www.geeksforgeeks.org/radiobutton-in-tkinter-python/#:~:text=The%20Radiobutton%20is%20a%20standard,calls%20that%20function%20or%20method。
示例代码:
from tkinter import *
import tkinter as tk
root = Tk()
root.geometry("300x300")
payment_method_label=Label(root, text="Select Payment Method:")
payment_method = StringVar()
payment_method.set("card")
cards = Radiobutton(root, text="Debit/Credit Card", variable=payment_method, value="card").pack(anchor=tk.W)
wallet = Radiobutton(root, text="Payment Wallet", variable=payment_method, value="wallet").pack(anchor=tk.W)
netbanking = Radiobutton(root, text="Net Banking", variable=payment_method, value="net banking").pack(anchor=tk.W)
root.mainloop()
输出: