Python Tkinter編程 OptionMenu類

OptionMenu類是一個輔助類,它用來創建彈出菜單,並且有一惡搞按鈕顯示它。它非常類似Windows上的下拉列表插件。

如果要獲取當前選項菜單的值,你需要把它和一個Tkinter變量聯繫起來。

1.如果要創建option menu,我們需要使用OptionMenu類並傳給構造函數一個變量和一系列選項值。

from Tkinter import *

master = Tk()

variable = StringVar(master)
variable.set("one") # default value

w = OptionMenu(master, variable, "one", "two", "three")
w.pack()

mainloop()
效果如下圖:

單擊one或者右邊的button,就會彈出一個選擇列表,裏面是我們傳給OptionMenu的選項列表,我們選擇其中任意一個後,button左邊的字符也會隨之改變。

2.爲了獲得選取的選項值,我們可以使用變量的get方法。

from Tkinter import *

master = Tk()

var = StringVar(master)
var.set("one") # initial value

option = OptionMenu(master, var, "one", "two", "three", "four")
option.pack()

#
# test stuff

def ok():
    print "value is", var.get()
    master.quit()

button = Button(master, text="OK", command=ok)
button.pack()

mainloop()
運行效果如下:


點擊Ok button,就會輸出當前選擇的選項值。

3.下面這個例子顯示瞭如何從一系列選項裏創建選項菜單。

from Tkinter import *

# the constructor syntax is:
# OptionMenu(master, variable, *values)

OPTIONS = [
    "egg",
    "bunny",
    "chicken"
]

master = Tk()

variable = StringVar(master)
variable.set(OPTIONS[0]) # default value

w = apply(OptionMenu, (master, variable) + tuple(OPTIONS))
w.pack()

mainloop()
運行如下圖:


這個例子使用了apply函數,將參數傳遞給OptionMenu。
發佈了35 篇原創文章 · 獲贊 23 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章