Tkinter:如何创建选项框

2024-04-25 04:29:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个选项框
choice box
,在这里我可以单击箭头,它会给我一个选项列表。
choice box pic 2
如果我点击其中一个,它会在第一个矩形中改变它。
有可能做这种事吗? 谢谢你的任何想法。


Tags: 列表选项箭头矩形
3条回答

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

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

您也可以尝试^{}

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

相关问题 更多 >