tkinter作為Python GUI編程的標準接口,其視窗控制項非常豐富,本文詳細介紹其Text元件。
Text元件作為顯示和處理多行文字的元件,具有非常靈活的運用方式。
其屬性分為兩類,包括STANDARD OPTIONS和WIDGET-SPECIFIC OPTIONS
。基本描述表格所示
STANDARD屬性值 | 描述 |
background | 背景顏色 |
borderwidth | 文字控制項的邊框寬度。預設是1-2個像素。 |
cursor | 文字控制項的遊標。預設是字元插入遊標(一般是一個「I-beam」類型的遊標) |
#exportselection | 是否允許拷貝內容到剪貼簿 |
#font | 字體設定及大小 |
foreground | 前景色 |
highlightbackground | 定義文字控制項沒有獲得輸入焦點狀態下的高亮背景顏色。就是文字控制項的亮邊。 |
highlightcolor | highlightbackground屬性類似。不過是文字控制項獲得輸入焦點時的邊框顏色。 |
highlightthickness | 文字控制項取得輸入焦點時的邊框寬度。一般1-2個像素。 |
insertbackground | #設定文字控制項插入遊標的顏色 |
insertborderwidth | 插入遊標的邊框寬度。如果是非0的數值,遊標會使用RAISED效果的邊框。 |
insertofftime insertontime |
#這兩個屬性控制插入遊標閃爍效果。就是插入遊標的出現和消失的時間。單位是毫秒。 |
insertwidth | 設定插入遊標的寬度。 |
padx | x軸方向的內邊距 |
pady | y軸方向的內邊距 |
relief | 指定文字控制項的邊框3D效果,預設是flat,可以設定的參數;flat、groove、raised、ridge、solid、sunken |
selectbackground | 設定選取文字的背景顏色 |
#selectborderwidth | 設定選取區域邊界寬度。 |
setgrid | boolean類型。為True時,可以讓視窗最大化,並顯示整個Text控制項 |
takefocus | 定義是否可以使用Tab鍵移動輸入焦點到該控制項。 |
xscrollcommand yscrollcommand |
將捲軸與文字控制項關聯起來,處理捲軸動作。滾動條分別對應水平或垂直滾動條。 |
WIDGET-SPECIFIC視窗屬性 | #描述 |
單字之間的間隔。預設值是1 | |
文字控制項的高度。預設是24行。 | |
最大Undo的次數。預設是0。 | |
段前間距。 | |
行間距。 | |
段後間距。 |
#定義文字控制項的狀態。狀態有二種:NORMAL和DISABLED | |
#定義按動Tab鍵時候的移動距離。 | |
開啟undo/redo功能。 | |
定義文字控制項的寬度,單位是字元數。 | |
定義如何折行顯示文字控制項的內容 |
方法名稱 | #描述 |
bbox() |
傳回一個描述位置及大小的元組(x,y,width,height) |
#compare(index1, op, index2) |
傳回一個邏輯比較結果 |
count(self, index1, index2) |
計算兩個索引之間相關事物的數量。 |
debug(self, boolean=None) |
#根據BOOLEAN,檢查文字內部B-Tree的一致性 |
#delete(self, index1, index2=None) |
#刪除INDEX1和INDEX2(不包括在內)之間的字元 |
#dlineinfo(self, index) |
返回元組(x,y,width,height,baseline) |
edit(self, * args) |
此方法控制撤銷機制和 修改後的標誌。 |
get(self, index1, index2=None) |
傳回索引INDEX1到INDEX2(不包含在內)之間的值 |
image_create(self, index, cnf={}, **kw) |
在索引INDEX位置建立一個內嵌影像。 |
index(self, index) |
以line.char形式傳回INDEX的索引值。 |
insert(self, index, chars, *args) |
在index索引位置插入字元 |
mark_names(self) |
傳回所有的marks值 |
replace(self, index1, index2, chars, *args) |
將索引index1和index2之間的值用chars替換 |
search(self, pattern, index) |
從索引位置開始搜尋正規表示式的內容 |
tag_add(self, tagName, index1, *args) |
新增標記 |
tag_bind(self, tagName, sequence, func, add=None) tag_unbind(self, tagName, sequence, funcid=None) |
綁定定事件與解除綁定 |
tag_delete(self, *tagNames) |
刪除標記 |
tag_remove( self, tagName, index1, index2=None) |
移除索引之間的特定標記 |
window_create(self, index, cnf={}, **kw) |
在索引位置建立子視窗 |
Text元件的應用實例。
一是簡單的基本應用
from tkinter import *
class init_window():
def __init__(self):
self.tk = Tk ()
self.window_attritions()
def window_attritions(self):
self.tk.title('Text_self_selfp. self.init_data_text.pack()
def show():
print('hello')
if __name__ == "__main__":
# win = init_window()
# win.t win.tk. mainloop()
二是插入元件
#button = Button(win.init_data_text,text='text中插入button',command=show)
win.init_data_text.window_create(INSERT,window=button)三是插入圖片
win.init_data_text.image_create(END, image=PhotoImage(file='1.gif'))
從上邊的介紹可以看出Text元件的索引值應用程式非常多,而下面介紹下索引值的型別
描述 | |
行/列 | |
某行的結尾 | |
遊標位置 | |
文字的結尾 | |
自訂標記 | |
視窗定位 |
以上是python3.6 tkinter之Text元件的詳細內容。更多資訊請關注PHP中文網其他相關文章!