Tkinter:如何创建选择框

Tkinter: How to create choice box

我需要创建一个选择框

我可以在其中单击箭头并提供选择列表。

如果我点击其中一个,它会在第一个矩形中改变它。
有可能做这样的事情吗? 谢谢你的想法。

有人为下拉列表视图制作了一个class。使用这个class,你可以试试:

from Tkinter import *

# insert class here

root = Tk()

view = ChoiceBox(root, ['MB', 'KB', 'GB', 'TB'])
view.place_configure(x = 0, y = 0)

root.mainloop()

Tkinter 有两个小部件可以满足您的需求。一个是 OptionMenu and the other is ttk.Combobox.

import Tkinter as tk
import ttk

class Example(tk.Frame):
    def __init__(self, parent):
        tk.Frame.__init__(self, parent)
        choiceVar = tk.StringVar()
        choices = ("choice 1", "choice 2", "choice 3", "choice 4")
        choiceVar.set(choices[0])

        om = tk.OptionMenu(self, choiceVar, *choices)
        cb = ttk.Combobox(self, textvariable=choiceVar, values=choices)

        om.pack()
        cb.pack()

if __name__ == "__main__":
    root = tk.Tk()
    Example(root).pack(fill="both", expand=True)
    root.mainloop()

您也可以尝试 OptionMenu:

from Tkinter import *

root = Tk()

choices = ['GB', 'MB', 'KB']
variable = StringVar(root)
variable.set('GB')

w = OptionMenu(root, variable, *choices)
w.pack(); root.mainloop()

或者您可以尝试使用 Combobox:

from ttk import *
from Tkinter import *

root = Tk()

choices = ['GB', 'MB', 'KB']
variable = StringVar(root)
variable.set('GB')

w = Combobox(root, values = choices)
w.pack(); root.mainloop()