如何在 Tkinter 中從 ScrolledText 控制元件檢索文字?
Tkinter 是一個流行的 Python 庫,用於建立圖形使用者介面 (GUI),它提供各種控制元件來構建互動式應用程式。在這些控制元件中,ScrolledText 控制元件通常用於顯示和輸入帶滾動功能的多行文字。如果您在 Tkinter 中使用 ScrolledText 控制元件,並且需要提取已輸入或現有的文字,本文將指導您完成此過程。
首先,讓我們建立一個包含 ScrolledText 控制元件的簡單 Tkinter 應用程式:
示例
import tkinter as tk from tkinter import scrolledtext def get_text(): text = scrolled_text.get("1.0", tk.END) print(text) root = tk.Tk() root.geometry("720x250") root.title("Retrieving Text from a ScrolledText Widget in Tkinter ") scrolled_text = scrolledtext.ScrolledText(root, width=40, height=10) scrolled_text.pack() button = tk.Button(root, text="Get Text", command=get_text) button.pack() root.mainloop()
在上面的程式碼中,我們首先從 tkinter 庫匯入必要的模組。然後,我們建立一個帶有根視窗的 Tkinter 應用程式並設定其標題。接下來,我們例項化一個名為 scrolled_text 的 ScrolledText 控制元件,並指定其寬度和高度,然後將其打包到根視窗中。
我們定義了一個名為 get_text() 的函式,當用戶單擊按鈕時將觸發該函式。在該函式內部,我們使用 ScrolledText 控制元件的 get() 方法來檢索文字。get() 方法需要兩個引數:要檢索的文字的起始和結束索引。在本例中,我們使用“1.0”作為起始索引(表示第一個字元)和 tk.END 作為結束索引(表示文字的末尾)。最後,我們將檢索到的文字列印到控制檯。
最後,我們建立一個名為 button 的按鈕控制元件,當單擊該按鈕時呼叫 get_text() 函式,並將其打包到根視窗中。
輸出
執行程式碼後,將出現一個 Tkinter 視窗,其中包含一個 ScrolledText 控制元件和一個標記為“獲取文字”的按鈕。您可以在控制元件中輸入多行文字,當您單擊按鈕時,輸入的文字將列印到控制檯。
您知道一個人每秒鐘會生成多少資料嗎?這些數字令人震驚。根據 Domo 的資料,在 2020 年,每個人每秒鐘生成 1.7MB 的資料,而且未來也不會放緩。毫不誇張地說,我們正生活在“資料時代”。企業和組織面臨的最大挑戰之一是理解所有這些資料。他們試圖透過使用機器學習 (ML) 的概念和方法建立智慧系統來處理這些資料,機器學習是計算機科學領域最令人興奮的領域之一。我們可以將機器學習稱為應用和演算法科學,它為資料提供了真正的意義。
在本例中,我們使用 ScrolledText 控制元件的 get() 方法來提取文字。透過指定起始和結束索引,我們檢索控制元件的全部內容。但是,如果需要,您可以調整這些索引以提取文字的特定部分。例如,要僅檢索第一行文字,您可以使用“1.0 linestart”作為起始索引和“1.0 lineend”作為結束索引。
需要注意的是,get() 方法將文字作為字串返回,包括分隔行的任何換行符(“\n”)。如果您想進一步處理或操作文字而無需換行符,則可能需要執行其他字串操作,例如使用 rstrip() 方法刪除尾隨換行符。
從 ScrolledText 控制元件檢索文字使您可以處理使用者輸入,將其儲存在變數或資料庫中,或根據輸入的文字執行任何必要的操作。無論您是直接在 ScrolledText 控制元件上使用 get() 方法,還是訪問底層的 Text 控制元件,這些方法都為在 Tkinter 應用程式中檢索文字提供了靈活性。
結論
從 Tkinter 中的 ScrolledText 控制元件檢索文字是一個簡單的過程,它允許您訪問已輸入或現有的多行文字。透過使用 ScrolledText 控制元件的 get() 方法或訪問底層的 Text 控制元件,您可以輕鬆獲取文字以進行進一步處理或儲存。無論您需要儲存使用者輸入、操作文字、將其儲存到檔案,還是將其作為輸入傳遞給其他函式,從 ScrolledText 控制元件檢索文字的能力都為您的 Tkinter 應用程式提供了靈活性和功能。
此外,ScrolledText 控制元件提供了各種與文字相關的函式和特性,這些特性超出了文字檢索的範圍。您可以動態設定或修改文字,應用格式或樣式選項,以及處理與文字內容相關的事件。