鍍金池/ 教程/ Python/ TK Widget概述
TK窗口管理器
TK特殊變量
TK 大型Widget
TK Widget概述
TK事件
TK選擇Widget
TK字體
Tk Canvas Widget
Tk教程
TK 基本W(wǎng)idget
TK幾何圖形管理器
TK Widget布局
TK環(huán)境設(shè)置
TK圖片

TK Widget概述

一個(gè)基于Tcl的應(yīng)用程序的基本組成部分被稱為窗口小部件。成分有時(shí)也被稱為窗口,由于在Tk的“window”和“widget”經(jīng)?;Q使用。 Tk是一個(gè)軟件包,提供了一組圖形組件的豐富來(lái)使用Tcl創(chuàng)建圖形的應(yīng)用程序。

TK提供了一系列的部件,從基本的GUI控件如按鈕和菜單數(shù)據(jù)顯示窗口小部件。窗口小部件是非常可配置的,因?yàn)樗鼈兊哪J(rèn)配置使它們易于使用。

Tk程序遵循一個(gè)部件widget的層次結(jié)構(gòu),其中任何數(shù)量的部件可以被放置在另一小窗口,并在另一小窗口的部件。在一個(gè)Tk的程序所述主窗口部件被稱為根部件,并且可以通過(guò)使TkRoot類的新實(shí)例被創(chuàng)建。

創(chuàng)建一個(gè)小部件

創(chuàng)建插件widget語(yǔ)法下面給出。

type variableName arguments options

這里的類型指的是按鈕,標(biāo)記等小部件的類型。參數(shù)是可選的,并且基于每個(gè)widget語(yǔ)法所必需的。選項(xiàng)范圍大小到每個(gè)組件的格式。

Widget 命名約定

Widget使用類似命名的包結(jié)構(gòu)。Tk的根窗口被命名為用句點(diǎn)(.)和在窗口中的元素,例如按鈕命名.myButton1。變量名稱應(yīng)該以小寫(xiě)字母,數(shù)字或標(biāo)點(diǎn)符號(hào)(除了一個(gè)時(shí)期)。第一個(gè)字符后,其它字符可以是大寫(xiě)或小寫(xiě)字母,數(shù)字或標(biāo)點(diǎn)符號(hào)(除了時(shí)間)。建議使用小寫(xiě)字母開(kāi)始的標(biāo)簽。

顏色命名約定

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

維度約定

默認(rèn)單位是像素,它是用來(lái)當(dāng)指定大小。其他尺寸i表示英寸,m表示毫米,c表示厘米,以及p表示點(diǎn)。

常用選項(xiàng)

有提供給所有的部件,以便許多共同的選項(xiàng)和它們被列于下表中。

SN 語(yǔ)法 描述
1 -background color 用于設(shè)置小部件背景色。
2 -borderwidth width 用于繪制在3D效果邊界。
3 -font fontDescriptor 用來(lái)設(shè)置部件字體。
4 -foreground color 用于設(shè)置部件前景色。
5 -height number 用于設(shè)置部件高度。
6 -highlightbackground color 用于設(shè)置顏色矩形周圍畫(huà)一個(gè)小部件時(shí),窗口小部件不具有輸入焦點(diǎn)。
7 -highlightcolor color 用于設(shè)置顏色矩形周圍畫(huà)一個(gè)小部件時(shí),窗口小部件有輸入焦點(diǎn)。
8 -padx number 設(shè)置padx的部件。
9 -pady number 設(shè)置pady的部件。
10 -relief condition 設(shè)置這個(gè)小程序3D浮雕。條件得到提升,凹陷,扁平,起壟,固體或凹槽。
11 -text text 設(shè)置小部件的文本。
12 -textvariable varName 變量與小部件關(guān)聯(lián)。當(dāng)小部件的文本改變,該變量設(shè)置控件的文本。
13 -width number 設(shè)置widget的寬度。

一個(gè)簡(jiǎn)單的例子選擇如下所示。

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3] -padx 100 -pady 100

當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。

Hello World Options

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

基礎(chǔ)widgets

SN Widget 描述
1 Label 窗口小部件,用于顯示文本的單行。
2 Button 小部件是可以點(diǎn)擊的,并觸發(fā)一個(gè)動(dòng)作。
3 Entry 窗口小部件用于接受文字輸入的一行。
4 Message 小部件顯示多行文本。
5 Text 小部件顯示和可選編輯多行文本。
6 Toplevel 由窗口管理器提供的所有邊框和裝飾。

widgets布局

SN Widget 描述
1 Frame 容器部件持有其他部件。
2 Place 窗口小部件持有特定的地方的其他部件,其起源坐標(biāo)和精確的尺寸。
3 Pack 簡(jiǎn)單的小工具,以將它們放置在父控件之前組織塊部件。
4 Grid 窗口小部件嵌套小部件包裝在不同的方向。

選擇widgets

SN Widget 描述
1 Radiobutton 窗口小部件具有一組開(kāi)/關(guān)按鈕和標(biāo)簽,其中一個(gè)可被選擇。
2 Checkbutton 窗口小部件具有一組開(kāi)/關(guān)按鈕和標(biāo)簽,其中許多可被選擇.
3 Menu 窗口小部件為菜單項(xiàng)充當(dāng)支架。
4 Listbox 窗口小部件,顯示一個(gè)或多個(gè)單元格,其中的列表可以被選擇。

大型widgets

SN Widget 描述
1 Dialog 部件顯示對(duì)話框。
2 Spinbox 窗口小部件允許用戶選擇數(shù)字。
3 Combobox 窗口小部件,它結(jié)合了可供利用的選擇列表中的一個(gè)條目。
4 Notebook 標(biāo)簽窗口小部件,有助于幾個(gè)頁(yè)面之一之間切換,使用索引選項(xiàng)卡。
5 Progressbar 窗口小部件提供視覺(jué)反饋的一個(gè)長(zhǎng)期操作,如文件上傳進(jìn)度。
6 Treeview 窗口小部件用來(lái)顯示,并允許通過(guò)項(xiàng)目的層次結(jié)構(gòu)瀏覽更多的樹(shù)的形式。
7 Scrollbar 滾動(dòng)部件沒(méi)有文字或canvas小部件。
8 Scale 縮放小部件選擇通過(guò)滑塊的數(shù)值。

其它 widgets

SN Widget 描述
1 Canvas 繪制部件顯示圖形和圖像..

我們將介紹有關(guān)各窗口小部件在下幾個(gè)章節(jié)。