一個基於Tcl的應用程式的基本組成部分被稱為視窗小部件。成分有時也被稱為視窗,由於在Tk的“window”和“widget”經常互換使用。 Tk是一個軟體包,提供了一組圖形元件的豐富來使用Tcl建立圖形的應用程式。
TK提供了一系列的部件,從基本的GUI控制元件如按鈕和選單資料顯示視窗小部件。視窗小部件是非常可組態的,因為它們的預設組態使它們易於使用。
Tk程式遵循一個部件widget的層次結構,其中任何數量的部件可以被放置在另一小視窗,並在另一小視窗的部件。在一個Tk的程式所述主視窗部件被稱為根部件,並且可以通過使TkRoot類的新範例被建立。
建立外掛widget語法下面給出。
type variableName arguments options
這裡的型別指的是按鈕,標記等小部件的型別。引數是可選的,並且基於每個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
當我們執行上面的程式,會得到下面的輸出。
可用視窗小部件的列表如下分類。
SN | Widget | 描述 |
---|---|---|
1 | Label | 視窗小部件,用於顯示文字的單行。 |
2 | Button | 小部件是可以點選的,並觸發一個動作。 |
3 | Entry | 視窗小部件用於接受文字輸入的一行。 |
4 | Message | 小部件顯示多行文字。 |
5 | Text | 小部件顯示和可選編輯多行文字。 |
6 | Toplevel | 由視窗管理器提供的所有邊框和裝飾。 |
SN | Widget | 描述 |
---|---|---|
1 | Frame | 容器部件持有其他部件。 |
2 | Place | 視窗小部件持有特定的地方的其他部件,其起源坐標和精確的尺寸。 |
3 | Pack | 簡單的小工具,以將它們放置在父控制元件之前組織塊部件。 |
4 | Grid | 視窗小部件巢狀小部件包裝在不同的方向。 |
SN | Widget | 描述 |
---|---|---|
1 | Radiobutton | 視窗小部件具有一組開/關按鈕和標籤,其中一個可被選擇。 |
2 | Checkbutton | 視窗小部件具有一組開/關按鈕和標籤,其中許多可被選擇. |
3 | Menu | 視窗小部件為選單項充當支架。 |
4 | Listbox | 視窗小部件,顯示一個或多個單元格,其中的列表可以被選擇。 |
SN | Widget | 描述 |
---|---|---|
1 | Dialog | 部件顯示對話方塊。 |
2 | Spinbox | 視窗小部件允許使用者選擇數位。 |
3 | Combobox | 視窗小部件,它結合了可供利用的選擇列表中的一個條目。 |
4 | Notebook | 標籤視窗小部件,有助於幾個頁面之一之間切換,使用索引索引標籤。 |
5 | Progressbar | 視窗小部件提供視覺反饋的一個長期操作,如檔案上傳進度。 |
6 | Treeview | 視窗小部件用來顯示,並允許通過專案的層次結構瀏覽更多的樹的形式。 |
7 | Scrollbar | 捲動部件沒有文字或canvas小部件。 |
8 | Scale | 縮放小部件選擇通過滾軸的數值。 |
SN | Widget | 描述 |
---|---|---|
1 | Canvas | 繪製部件顯示圖形和影象.. |
我們將介紹有關各視窗小部件在下幾個章節。