Tkinter:如何创建选择框

Nef*_*tox 1 python user-interface tkinter box

我需要创建一个选择框
选择框
在这里我可以单击箭头,它为我提供了选择列表。
选择盒图片2
如果我单击其中一个,它将在第一个矩形中更改它。
有可能做这样的事情吗?谢谢你的任何想法。

Bry*_*ley 5

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()
Run Code Online (Sandbox Code Playgroud)

组合框和选项菜单


Mal*_*imi 5

您也可以尝试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()
Run Code Online (Sandbox Code Playgroud)

OptionMenu示例

或者,您可以尝试使用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()
Run Code Online (Sandbox Code Playgroud)

组合框示例