首頁 / CompScience / Programming / Languages / Python / 結合元件變數

結合元件變數

[ Next: 視窗管理員 | Previous: Packer | 內容 ]


結合元件變數

某些元件的目前值的設定(像輸入元件)可以使用特殊的選項來直接連結應用程式的變數,這些選項是 variable、textvariable、 onvalue、 offvalue及 value。這種連結有兩種方式:假如變數因為某種原因改變,它所連結的元件將會被更新以反應新的值。

不幸的是,Tkinter目前的運作無法透過variabletextvariable選項來遞交任何的Python變數給元件,這唯一一種可運作的變數叫做Variable是繼承自類別的子類別變數,這個變數是定義在Tkinter模組中,這種子類別的變數有很多有用的,有定義的有:StringVar、IntVar、DoubleVarBooleanVar。要讀取這樣一個變數的目前值裡如說 myval,你可以呼叫 get() 方法,並且使用set()方法來改變它的值,假如你遵從這種協定,元件就可以追蹤變數的值,你就無須另外有更多的介入。

舉例:

class App(Frame):

def __init__(self, master=None):

Frame.__init__(self, master)
self.pack()
self.entrythingy = Entry()
self.entrythingy.pack()
self.button.pack()
# here is the application variable
self.contents = StringVar()
# set it to some value
self.contents.set(“this is a variable”)
# tell the entry widget to watch this variable
self.entrythingy[“textvariable”] = self.contents
# and here we get a callback when the user hits return.
# we will have the program print out the value of the
# application variable when the user hits return
self.entrythingy.bind(‘<Key-Return>’,

self.print_contents)

def print_contents(self, event):

print “hi. contents of entry is now —->”,

self.contents.get()

Print Friendly, PDF & Email
馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

3 comments

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Scroll To Top