天天看點

python中label函數_對Python中TKinter子產品中的Label元件執行個體詳解

Python2.7.4 OS—W7x86

1. 簡介

Label用于在指定的視窗中顯示文本和圖像。最終呈現出的Label是由背景和前景疊加構成的内容。

Label元件定義函數:Label(master=None, cnf={}, **kw) 其中,kw參數是用來自定義lable元件的鍵值對。

2. 背景自定義

背景的話,有三部分構成:内容區+填充區+邊框

<1>内容區參數有:width,length用于指定區域大小,如果顯示前景内容是文本,則以單個字元大小為機關;如果顯示的是圖像,則以像素為機關。預設值是根據具體顯示的内容動态調整。類型是int。

background用于指定背景的顔色,預設值根據系統而定。

<2>填充區參數:指的是内容區和邊框之間的間隔大小,機關是像素。參數有:padx , pady,類型是int。

<3>邊框參數:樣式relief(可選值為:flat(預設),sunken,raised,groove,ridge),borderwidth(邊框的寬度,機關是像素,預設根據系統而定,一般是1或2像素)

highlightbackground,highlightcolor,highlightthickness 三個邊框參數僅在Label允許接收焦點的情況下(tackfocus=True),用于設定焦點擷取前後高亮邊框顔色以及高亮邊框寬度。

舉個栗子(@[email protected])

python中label函數_對Python中TKinter子產品中的Label元件執行個體詳解

上圖右側為,背景圖構成:内容區(黑色),填充區(綠色),邊框(黃色)

定義的背景内容區是可容納3X9的字元區,如上圖中的右側小視窗中的Label。增加了填充區和邊框後的效果如上圖中左側的Label。

3. 前景自定義

前景定義分為文本内容和圖像兩小塊來說明。

3.1 文本

文本内容選項有:<1>指定字型和字型大小,如:font = (font_name,size),預設有系統指定。

<2>文本對齊方式,justify = "center(預設)left/right/"

<3>指定文本(或圖像)顔色,foreground = "指定的顔色",可以是英文名字,也可以是RGB格式的

<4>指定文本内容:(靜态的)text = "目标字元串....."; (動态更新的)textvariable = str_obj,當str_obg的内容改變時,會更新Label中對應内容。

這裡需要注意的是str_obj必須是TKinter所支援的字元串類型變量,如:str_obj = Tkinter.StringVar() str_obj.set("目标文本内容")

<5>單個字元添加下劃線,underline = index, index是目标字元串中的字元索引值。

<6>文本或圖像在背景内容區的位置:anchor 可選值為(n,s,w,e,ne,nw,sw,se,center)eswn是東南西北英文的首字母,表示:上北下南左西右東

python中label函數_對Python中TKinter子產品中的Label元件執行個體詳解

圖像内容選項有:<1>指定圖檔:bitmap = bitmap_image,當指定image選項的時候,這個參數會被忽略掉 或者 image = normal_image(僅支援GIF, PPM/PGM格式的圖檔)" 。

需要注意的是這裡的所用到的圖檔對象bitmap_image normal_image都是需要經過TKinter轉換後的圖像格式。

如: bitmap_image = TKinter.BitmapImage(file = "位圖檔路徑")

normal_image = TKinter.PhotoImage(file = "gif 、ppm/pgm圖檔路徑")

圖檔和文本取舍:compound參數可以控制要顯示的文本和圖像。當同時指明了要顯示的文本和圖像時,可以通過該參數來進行不同設定。

可選值:None 預設值,表示隻顯示圖像,不顯示文本;bottom/top/left/right,表示圖檔顯示在文本的下/上/左/右;center,表示文本顯示在圖檔中心上方。

python中label函數_對Python中TKinter子產品中的Label元件執行個體詳解

上圖左中的compound="bottom",表示圖檔顯示在文字下方;上圖左中的compound="center",表示文字顯示在圖檔中間上方

4. Label的其他參數

<1>activebacakground activeforground 用于設定Label處于活動(active)狀态下的背景和前景顔色,預設由系統指定。

<2>diableforground 指定當Label不可用的狀态(Disable)下的前景顔色,預設由系統指定。

<3>cursor 指定滑鼠經過Label的時候,滑鼠的樣式,預設由系統指定。

<4>state 指定Label的狀态,用于控制Label如何顯示。可選值有:normal(預設)/active/disable。

程式源碼

#coding=utf-8

import Tkinter as tk

if __name__ == "__main__":

import Tkinter as tk

master = tk.Tk()

str_obj = tk.StringVar()

str_obj.set("這是TKinter所支援的字元串類型")

#bitmap_image = tk.BitmapImage(file = "./tmp/11.bmp")

normal_image = tk.PhotoImage(file = "./tmp/11.gif")

print type(normal_image)

print normal_image

w = tk.Label(master,

#背景選項

#height = 5,

#width = 20,

padx=10,

pady=20,

background="blue",

relief="ridge",

borderwidth=10,

#文本

text = "123456789\nabcde\nABCDEFG",

#textvariable = str_obj,

justify = "left",

foreground = "white",

underline = 4,

anchor = "ne",

#圖像

image = normal_image,

compound = "bottom",

#接受焦點

#takefocus = True,

#highlightbackground = "yellow",

#highlightcolor = "white",

#highlightthickness = 5

)

w.pack()

master.mainloop()

以上這篇對Python中TKinter子產品中的Label元件執行個體詳解就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援我們。

本文标題: 對Python中TKinter子產品中的Label元件執行個體詳解

本文位址: http://www.cppcns.com/jiaoben/python/262217.html