繁体   English   中英

如何使用 tkinter 在 python 中创建选项菜单

[英]how create an option menu in python using tkinter

如何在 tkinter 中创建选项字段? 例如,在 html 中是这样的:

<select>
  <option value="Option1">Option1</option>
  <option value="Option2">Option2</option>
  <option value="Option3">Option3</option>
  <option value="Option4">Option4</option>
</select>

方法一:选项菜单

第一种方法是使用OptionMenu中的tkinter 您必须创建一个包含所有所需选项的列表。 然后,您需要有一个variable来保存有关当前选择了哪个按钮的信息。

有用的资源: 如何从 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()

Output:

在此处输入图像描述

方法2:单选按钮

您可以使用 tkinter 中的Radiobutton进行选择。

您需要传入的 arguments 是window ,它是root ,要显示在选项按钮中的text ,一个shared variable ,它保存有关当前选择了哪个按钮的信息,以及区分此单选按钮的唯一value

注意:每个单选按钮应具有不同的唯一value ,否则将选择多个单选按钮。

要传入的参数:

button = Radiobutton(root, text="Name on Button", variable = “shared variable”, value = “values of each button”)

关于Radiobutton的有用资源-

  1. Python Tkinter 中的单选按钮值
  2. 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()

Output:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM