我需要创建一个选择框
我可以点击箭头,它会给出我的选择列表。
如果我点击其中一个,它将在第一个矩形中更改它。
它可以做这样的事情吗?
谢谢你的任何想法。
答案 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()
答案 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()
或者您可以尝试使用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()
答案 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()