Tkinter:如何创建选择框

时间:2015-03-06 19:13:45

标签: python user-interface tkinter box

我需要创建一个选择框
choice box
我可以点击箭头,它会给出我的选择列表。
choice box pic 2
如果我点击其中一个,它将在第一个矩形中更改它。
它可以做这样的事情吗? 谢谢你的任何想法。

3 个答案:

答案 0 :(得分:4)

Tkinter有两个小工具可以满足您的需求。一个是OptionMenu,另一个是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()

ComboBox and OptionMenu

答案 1 :(得分:4)

您还可以尝试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()

OptionMenu example

或者您可以尝试使用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()

Combobox example

答案 2 :(得分:-1)

有人为下拉列表视图做了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()