在tkinter中有一种方法可以使用滚动菜单吗?

时间:2018-01-26 21:12:05

标签: python tkinter

我正在制作一个密码应用,可让您选择用于编码文字的旋转。最好不要使用带有93个不同选项的下拉菜单,而是需要一个带有向上/向下按钮的小方框,您可以在其中滚动选项。

EX:我会做这样的事情:

status = IntVar()
list = ['a', 'b', 'c']
scrollmenu = tk.ScrollMenu(root, options=list, variable=status, command=check_value())

当我放置它时,小部件显示如下:

Ideal

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

Novel 's suggestion Spinbox一样,非常适合您描述的内容。这是一个例子:

try:                        # In order to be able to import tkinter for
    import tkinter as tk    # either in python 2 or in python 3
except:
    import Tkinter as tk


def print_value():
    global var
    print(var.get())


if __name__ == '__main__':
    root = tk.Tk()
    var = tk.StringVar()
    a_list = ['a', 'b', 'c']
    spinbox = tk.Spinbox(root, values=a_list, textvariable=var, command=print_value)
    spinbox.pack()
    root.mainloop()

另一个例子(IntVar):

try:                        # In order to be able to import tkinter for
    import tkinter as tk    # either in python 2 or in python 3
except:
    import Tkinter as tk


def print_value():
    global var
    print(var.get())


if __name__ == '__main__':
    root = tk.Tk()
    var = tk.IntVar()
    a_list = [1, 2, 3]
    spinbox = tk.Spinbox(root, values=a_list, textvariable=var, command=print_value)
    var.set(4)
    spinbox.pack()
    root.mainloop()