Python Tkinter Text文本
Text(多行文本框)的主要用於顯示多行文本,還可以顯示網頁鏈接,圖片,HTML頁面,甚至 CSS樣式表,添加組件等。
因此,也常被當做簡單的文本處理器、文本編輯器或者網頁瀏覽器來使用。比如IDLE就是Text組件構成的。
-
Text小部件用於顯示Python應用程序上的文本數據。其次,Tkinter為我們提供了Entry小部件,用於實現單行文本框
-
“文本”小組件用於顯示具有各種樣式和屬性的多行格式化文本。 Text小部件主要用於向用戶提供文本編輯器。
-
Text小部件還便於我們使用標記和選項卡來定位Text的特定部分。我們還可以使用帶有文本的窗口和圖像,因為它也可以用於顯示格式化文本。
-
語法
textpad = Text(top, options)
- 可以與Text小部件一起使用的可能選項列表
選項 | 描述 |
---|---|
bg | 小部件的背景顏色 |
bd | 它表示小部件的邊框寬度 |
cuesor | 鼠標指針變為指定的光標類型,即箭頭,點等 |
exportselection | 所選文本將導出到窗口管理器中的選擇。如果我們不希望導出文本,我們可以將其設置為0。 |
font | 文本的字體類型 |
fg | 小部件的文本顏色。 |
width | 它表示小部件的寬度(以字符為單位) |
height | 窗口小部件的垂直尺寸。 |
highlightbackground | 小部件沒有焦點時的高亮顏色 |
highlightthickness | 焦點高光的厚度。默認值為1。 |
highlighcolor | 當小部件具有焦點時焦點的顏色突出顯示 |
insertbackground | 它表示插入光標的顏色 |
insertborderwidth | 它表示光標周圍邊框的寬度。默認值為0。 |
insertofftime | 插入光標在閃爍周期中關閉的時間量(毫秒) |
insertontime | 插入光標在閃爍周期中開啟的時間量(以毫秒為單位) |
insertwidth | 它表示插入光標的寬度 |
padx | 小部件的水平填充。 |
pady | 小部件的垂直填充 |
relief | 邊界的類型。 SUNKEN默認為 |
selectbackground | 所選文本的背景顏色 |
selectborderwidth | 所選文本周圍邊框的寬度。 |
spacing1 | 它指定文本每行上方給出的垂直空間量。默認值為0 |
spacing2 | 此選項指定在邏輯行換行時在顯示的文本行之間添加多少額外垂直空間。默認值為0 |
spacing3 | 它指定要在文本的每一行下面插入的垂直空間量 |
state | 狀態設置為DISABLED,窗口小部件對鼠標和鍵盤沒有響應無響應 |
tabs | 此選項控制制表符如何用於定位文本 |
wrap | 此選項用於將較寬的行包裝成多行。將此選項設置為WORD以將行包裝在適合可用空間的單詞之后。默認值為CHAR,它會破壞任何字符都過寬的行 |
xscrollcommand | 要使Text小部件可以水平滾動,我們可以將此選項設置為Scrollbar小部件的 set()方法。 |
yscrollcommand | 為了使Text小部件可以垂直滾動,我們可以將此選項設置為Scrollbar小部件的 set()方法。 |
- 方法
方法 | 描述 |
---|---|
delete(startindex,endindex) | 此方法用於刪除指定范圍的字符 |
get(startindex,endindex) | 返回指定范圍內的字符 |
index(index) | 它用於獲取指定索引的絕對索引 |
insert(index,string) | 用於在給定索引處插入指定的字符串。 |
see(index) | 它返回一個布爾值true或false,具體取決於指定索引處的文本是否可見。 |
- 標記處理辦法
- 標記用於為相關文本的字符之間的指定位置添加書簽
方法 | 說明 |
---|---|
index(mark) | 用於獲取指定標記的索引 |
mark_gravity(mark,gravity) | 用於獲取給定標記的重力 |
mark_names() | 用於獲取Text小部件中的所有標記 |
mark_set(mark,index) | 用於通知給定標記的新位置 |
mark_unset(mark) | 用於從文本中刪除給定標記 |
- 標簽處理方法
- 標簽是給予文本單獨區域的名稱。標簽用於分別配置文本的不同區域。下面給出了標簽處理方法列表以及描述。
方法 | 說明 |
---|---|
tag_add(tagname,startindex,endindex) | 此方法用於標記指定范圍內的字符串 |
tag_config | 此方法用於配置標記屬性 |
tag_delete(tagname) | 此方法用於刪除給定標記 |
tag_remove(tagname,startindex,endindex) | 此方法用於從指定范圍中刪除標記。 |
- 示例
from tkinter import *
root = Tk()
text = Text(root)
text.insert(INSERT, "Name.....")
text.insert(END, "Salary.....")
text.pack()
text.tag_add("Write Here", "1.0", "1.4")
text.tag_add("Click Here", "1.8", "1.13")
text.tag_config("Write Here", background="yellow", foreground="black")
text.tag_config("Click Here", background="black", foreground="white")
root.mainloop()
- 輸出