午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python GUI 編程:tkinter 初學者入門指南——多行文本框

 信息科技云課堂 2024-10-14 發(fā)布于山東

在本文中,將介紹如何使用 tkinter Text 多行文本框小部件向應用程序添加文本編輯器。

Text 小部件允許顯示和編輯多行文本,還支持嵌入圖像和鏈接。

要創(chuàng)建多行文本框,請使用以下構(gòu)造函數(shù):

text = tk.Text(master, **option)

創(chuàng)建多行文本框

以下示例中,使用 Text 多行文本框小部件,在窗口上創(chuàng)建一個可以輸入 10 行的文本框。

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Text 多文本框演示')

text = tk.Text(root, height=10, font=("Arial"20))
text.pack(padx=10, pady=10)

root.mainloop()

使用多行文本框顯示文字

要在多行文本框顯示文字,可以使用 insert() 方法。此方法在指定的索引位置插入字符串。

語法格式:

text.insert(index, string)

示例:

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Text 多文本框演示')

text = tk.Text(root, height=10, font=("Arial"20))
text.pack(padx=10, pady=10)
text.insert(tk.INSERT, '信息科技云課堂\nPython之家')

root.mainloop()

還可以使用標簽設(shè)置文本格式,可以定義任意數(shù)量的標記,同一個 Tag 可以用于多個不同的范圍。

以下代碼定義了 a、b 兩個 Tag,分別為字符串“信息”和“Python”設(shè)置不同的樣式。

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Text 多文本框演示')

text = tk.Text(root, height=10, font=("Arial"20))
text.pack(padx=10, pady=10)
text.insert(tk.INSERT, '信息科技云課堂\nPython之家')

text.tag_add("a""1.0""1.2")
text.tag_add("b""2.0""2.6")
text.tag_config("a", background = "yellow", foreground = "blue")
text.tag_config("b", background = "black", foreground = "green")
root.mainloop()

要防止文本框的內(nèi)容被修改,可以通過將參數(shù)設(shè)置禁用編輯。

text['state'] = 'disabled'

要重新啟用編輯,可以設(shè)置以下參數(shù)。

text['state'] = 'normal'

讀取多行文本框的內(nèi)容

要讀取多行文本框的內(nèi)容,使用 get() 方法。

text_content = text.get('1.0','end')

該方法接受兩個參數(shù)。第一個參數(shù)是起始位置,第二個參數(shù)是結(jié)束位置。

import tkinter as tk
from tkinter.messagebox import showinfo
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Text 多文本框演示')
def Take_input():
    msg = text.get("1.7""end")
    showinfo(title='歡迎訪問', message=msg)
    
text = tk.Text(root, height=10, font=("Arial"20))
text.pack(padx=10, pady=10)
text.insert(tk.INSERT, '信息科技云課堂Python之家')

Display = tk.Button(root, height = 2, width = 20, text ="讀取", command = lambda:Take_input())
Display.pack()

root.mainloop()

text.get("1.0", "end - 1 chars")

上面的代碼返回所有文本,但最后一個換行符除外。

text.get("1.0", "end - 1 lines")

上述代碼返回所有文本,但最后一行除外。

text.get("1.0", "1.0 lineend")

上述代碼返回文本的第一行。

text.get("1.0", "1.0 + 3 lines")

上述代碼返回文本的前三行。

刪除多行文本框的內(nèi)容

要讀取多行文本框的內(nèi)容,使用 delete() 方法。

text_content = text.delete('1.0','end')

與 get() 方法類似,該方法接受兩個參數(shù)。第一個參數(shù)是起始位置,第二個參數(shù)是結(jié)束位置。

使用多行文本框顯示圖像

要使用多行文本框顯示圖像,使用 image_create() 方法。

import tkinter as tk
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('Text 多文本框演示')

text = tk.Text(root, height=10, font=("Arial"20))
text.pack(padx=10, pady=10)
photo=tk.PhotoImage(file='logo.png')
text.image_create(tk.INSERT, image=photo)
text.insert(tk.INSERT, 'Python之家')

root.mainloop()

Text 多行文本框小部件選項

參數(shù)說明
bd邊框?qū)挾取?/td>
bg背景顏色。
exportselection導出窗口管理器選定的文本。默認值為0。
cursor鼠標指針類型。
font文本的字體。
fg文本顏色。
height垂直尺寸,行數(shù)。
highlightbackground高亮背景顏色。
higlightthickness高亮寬度,默認值為 1。
highlightcolor高亮顏色。
insertbackground插入光標的顏色。
padx水平填充。
pady垂直填充。
relief邊框類型。
state設(shè)置為 DISABLED,則對鼠標和鍵盤無響應。
tabs使用制表符定位文本。
width組件的寬度,以字符為單位。
wrap自動換行。
xscrollcommand水平滾動。
yscrollcommand垂直滾動。
spacing1文本每行上方插入的垂直間距。
spacing2邏輯換行時,文本行之間添加額外的垂直間距。默認值為 0。
spacing3文本每行下方插入的垂直間距。
selectbackground所選文本的背景色。
selectborderwidth所選文本周圍的邊框?qū)挾取?/td>

點亮在看,你最好看!

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約