如何從 Tkinter Entry 元件中獲取 textvariable?


Tkinter 是 Python 的標準 GUI 工具包,它提供各種各樣的元件來構建圖形使用者介面。Entry 元件是一個常用的元件,它允許使用者輸入文字。然而,在處理 Entry 元件時,檢索輸入的文字可能具有挑戰性。在本文中,我們將探討如何透過訪問其 textvariable 屬性來檢索 Tkinter Entry 元件中輸入的文字。我們將討論 textvariable 的概念,解釋其用途,並提供完整的 Python 實現來演示如何從 Entry 元件中提取輸入的文字。

理解 Textvariables

在深入瞭解如何從 Entry 元件檢索文字之前,讓我們先了解 textvariable 的概念。在 Tkinter 中,textvariable 是一種特殊的變數型別,可以與某些元件(包括 Entry 元件)關聯。它充當元件和底層資料之間的橋樑。透過使用 textvariable,我們可以將 Entry 元件中的使用者輸入連結到 Python 程式碼中的變數。每當使用者修改 Entry 元件中的文字時,關聯的 textvariable 都會自動更新。

實現

讓我們繼續實現從 Entry 元件檢索 textvariable 的過程。我們將採用分步方法來演示該過程。

步驟 1:匯入必要的模組

首先,我們需要匯入 tkinter 模組,該模組提供用於構建 GUI 應用程式的 Tkinter 框架。

import tkinter as tk

步驟 2:建立 Tkinter 視窗

接下來,我們使用 Tk() 類建立一個 Tkinter 視窗。

window = tk.Tk()
window.title("Getting Textvariable from Entry")

步驟 3:定義 textvariable 及其關聯的 Entry 元件

現在,我們定義一個 textvariable 並建立一個與其連結的 Entry 元件。

text_variable = tk.StringVar()
entry = tk.Entry(window, textvariable=text_variable)
entry.pack()

步驟 4:檢索 textvariable

要檢索 Entry 元件中輸入的文字,我們只需訪問 textvariable 的值即可。

entered_text = text_variable.get()
print("Entered text:", entered_text)

步驟 5:執行 Tkinter 事件迴圈

最後,我們執行 Tkinter 事件迴圈以顯示視窗並處理使用者互動。

window.mainloop()

示例

將所有內容整合在一起,以下是完整的 Python 實現:

# Import the necessary module
import tkinter as tk

# Create a Tkinter window
window = tk.Tk()
window.title("Getting Textvariable from Entry")

# Create a textvariable
text_variable = tk.StringVar()

# Create an Entry widget associated with the textvariable
entry = tk.Entry(window, textvariable=text_variable)
entry.pack()

def retrieve_text():
   # Retrieve the text from the textvariable
   entered_text = text_variable.get()
   print("Entered text:", entered_text)

# Create a button to trigger text retrieval
button = tk.Button(window, text="Retrieve Text", command=retrieve_text)
button.pack()

# Run the Tkinter event loop
window.mainloop()

在這個例子中,我們首先匯入 tkinter 模組,該模組提供用於構建 GUI 應用程式的 Tkinter 框架。然後,我們使用 Tk() 類建立了一個 Tkinter 視窗,並將視窗標題設定為“從 Entry 獲取 Textvariable”。

我們建立了一個名為 text_variable 的 StringVar() 物件,它將作為 Entry 元件的 textvariable。然後,我們建立一個 Entry 元件,並使用 textvariable 引數將其與 text_variable 關聯。entry.pack() 方法用於在視窗中顯示 Entry 元件。

然後,我們定義了一個名為 retrieve_text() 的函式,該函式使用 get() 方法從 text_variable 中檢索文字。在這個例子中,我們只是簡單地列印輸入的文字,但您可以對其執行任何所需的操作。

我們還建立了一個名為 button 的 Button 元件,其標籤為“檢索文字”。command 引數設定為 retrieve_text 函式,因此當單擊按鈕時,它會觸發該函式。

最後,我們使用 mainloop() 方法執行 Tkinter 事件迴圈。這會持續監聽使用者互動(例如按鈕點選)並相應地更新 GUI。

輸出

執行上述程式碼後,我們將得到以下 Tkinter 視窗:

您可以在 Entry 元件中輸入內容,然後單擊“檢索文字”按鈕以檢索文字。

檢索到的文字將如下列印:

Entered text: Tutorials Point

結論

透過利用 textvariable 屬性,檢索 Tkinter Entry 元件中輸入的文字變得非常容易。透過將 Entry 元件連結到 textvariable,我們在使用者輸入和 Python 程式碼中的變數之間建立了連線。這使我們能夠在需要時輕鬆訪問輸入的文字。在本文中,我們討論了 textvariable 的概念、其用途,並提供了一個分步實施示例。透過遵循示例,您可以輕鬆地從 Entry 元件檢索文字。Tkinter 的 Entry 元件成為捕獲使用者輸入的強大工具,並且透過利用 textvariable,您可以將使用者輸入無縫整合到您的 Python 應用程式中。有了這些知識,您現在就可以有效地處理和利用 Tkinter Entry 元件中輸入的文字。

更新於: 2023-12-04

3K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告