
364 第十章
心中有物件
panel = SoundPanel(app, mixer, “50459_M_RED_Nephlimizer.wav”)
panel.pack()
panel = SoundPanel(app, mixer, “49119_M_RED_HardBouncer.wav”)
panel.pack()
frame 小組件包含其他小組件
大多數 GUI 程式庫(包括 tkinte r ) 讓 你 從 一 組 其 他 元 件 建 立
自訂小
組件
(custom widget),而 tkinter 包含一種稱作 fra m e 的 特 別 小 組
件 。 f r a m e 的 運 作 正 如 同 一 幅 「 像 框 」 , 將 其 他 東 西 框 起 來 。 f r a m e
是矩形的,並且能夠包含其他小組件︰
在 t k i n t e r 裡 ,f r a m e 透 過 Fr a m e () 被 建 立 。 如 果 你 能 夠設 法 建立 新
類 型 的 f r a m e ( 譬 如 說 , 稱 作 S o u n d Pa n e l ) , 包 含 核 取 方 塊 與 滑 動
條,就可以在你的程式裡使用像這樣的程式碼︰
看起來似乎是個很好的解決辦法。不過,你還有一個大問題。
這 段 程 式 碼 使 用 全 新 類 型 的 物 件 , 以 前 不 曾 存 在 過 的 全 新 類 型 小 組
件。你如何叫電腦建立那樣的東西,一