TK Widget概述

一個基於Tcl的應用程序的基本組成部分被稱爲窗口小部件。成分有時也被稱爲窗口,由於在Tk的「window」和「widget」經常互換使用。 Tk是一個軟件包,提供了一組圖形組件的豐富來使用Tcl創建圖形的應用程序。

TK提供了一系列的部件,從基本的GUI控件如按鈕和菜單數據顯示窗口小部件。窗口小部件是非常可配置的,因爲它們的默認配置使它們易於使用。

Tk程序遵循一個部件widget的層次結構,其中任何數量的部件可以被放置在另一小窗口,並在另一小窗口的部件。在一個Tk的程序所述主窗口部件被稱爲根部件,並且可以通過使TkRoot類的新實例被創建。

創建一個小部件

創建插件widget語法下面給出。

type variableName arguments options

這裏的類型指的是按鈕,標記等小部件的類型。參數是可選的,並且基於每個widget語法所必需的。選項範圍大小到每個組件的格式。

Widget 命名約定

Widget使用類似命名的包結構。Tk的根窗口被命名爲用句點(.)和在窗口中的元素,例如按鈕命名.myButton1。變量名稱應該以小寫字母,數字或標點符號(除了一個時期)。第一個字符後,其它字符可以是大寫或小寫字母,數字或標點符號(除了時間)。建議使用小寫字母開始的標籤。

顏色命名約定

顏色可以使用名稱,如red, green等聲明。它也可以用十六進制表示與#。十六進制數字的數目可以是3,6,9或12。

維度約定

默認單位是像素,它是用來當指定大小。其他尺寸i表示英寸,m表示毫米,c表示釐米,以及p表示點。

常用選項

有提供給所有的部件,以便許多共同的選項和它們被列於下表中。

SN

語法

描述

1

-background color

用於設置小部件背景色。

2

-borderwidth width

用於繪製在3D效果邊界。

3

-font fontDescriptor

用來設置部件字體。

4

-foreground color

用於設置部件的前景色。

5

-height number

用於設置部件高度。

6

-highlightbackground color

用於設置顏色矩形周圍畫一個小部件時,窗口小部件不具有輸入焦點。

7

-highlightcolor color

用於設置顏色矩形周圍畫一個小部件時,窗口小部件有輸入焦點。

8

-padx number

設置padx的部件。

9

-pady number

設置pady的部件。

10

-relief condition

設置這個小程序的3D浮雕。條件得到提升,凹陷,扁平,起壟,固體或凹槽。

11

-text text

設置小部件的文本。

12

-textvariable varName

變量與小部件關聯。當小部件的文本改變,該變量設置控件的文本。

13

-width number

設置widget的寬度。

一個簡單的例子選擇如下所示。

#!/usr/bin/wish grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3] -padx 100 -pady 100

當我們運行上面的程序,會得到下面的輸出。

Hello

可用窗口小部件的列表如下分類。

基礎widgets

SN

Widget

描述

1

Label

窗口小部件,用於顯示文本的單行。

2

Button

小部件是可以點擊的,並觸發一個動作。

3

Entry

窗口小部件用於接受文字輸入的一行。

4

Message

小部件顯示多行文本。

5

Text

小部件顯示和可選編輯多行文本。

6

Toplevel

由窗口管理器提供的所有邊框和裝飾。

widgets佈局

SN

Widget

描述

1

Frame

容器部件持有其他部件。

2

Place

窗口小部件持有特定的地方的其他部件,其起源座標和精確的尺寸。

3

Pack

簡單的小工具,以將它們放置在父控件之前組織塊部件。

4

Grid

窗口小部件嵌套小部件包裝在不同的方向。

選擇widgets

SN

Widget

描述

1

Radiobutton

窗口小部件具有一組開/關按鈕和標籤,其中一個可被選擇。

2

Checkbutton

窗口小部件具有一組開/關按鈕和標籤,其中許多可被選擇.

3

Menu

窗口小部件爲菜單項充當支架。

4

Listbox

窗口小部件,顯示一個或多個單元格,其中的列表可以被選擇。

大型widgets

SN

Widget

描述

1

Dialog

部件顯示對話框。

2

Spinbox

窗口小部件允許用戶選擇數字。

3

Combobox

窗口小部件,它結合了可供利用的選擇列表中的一個條目。

4

Notebook

標籤窗口小部件,有助於幾個頁面之一之間切換,使用索引選項卡。

5

Progressbar

窗口小部件提供視覺反饋的一個長期操作,如文件上傳進度。

6

Treeview

窗口小部件用來顯示,並允許通過項目的層次結構瀏覽更多的樹的形式。

7

Scrollbar

滾動部件沒有文字或canvas小部件。

8

Scale

縮放小部件選擇通過滑塊的數值。

其它 widgets

SN

Widget

描述

1

Canvas

繪製部件顯示圖形和圖像..

我們將介紹有關各窗口小部件在下幾個章節。