Python Tkinter 中的組合框控制元件


Tkinter 是 Python 對 Tk GUI 工具包的繫結。它是 Tk GUI 工具包的標準 Python 介面,也是 Python 的標準 GUI。Tkinter 包含在 Python 的標準 Linux、Microsoft Windows 和 macOS 安裝中。我們可以從 Python 的 tkinter 模組建立許多控制元件。這些控制元件之一是組合框,它是一個非常廣泛使用的強大工具,可以自定義以建立列表,允許使用者從給定選項列表中選擇一個或多個選項。

組合框控制元件將文字輸入與下拉列表結合起來,允許使用者直接在輸入框中鍵入和/或從列表中選擇任何專案。此控制元件用於使用者必須從有限數量的給定選項中選擇一個或多個選項的地方。

使用 Tkinter 建立組合框控制元件

要使用 Python 的 Tkinter 模組建立此組合框控制元件以建立具有多個選項的下拉列表,我們需要遵循以下步驟:

步驟 1:匯入所需的模組

我們需要首先匯入建立組合框所需的模組。我們必須匯入 Python 的 tkinter 模組,它提供了對高階 Tk 控制元件的訪問。

from tkinter import *
from tkinter import ttk

步驟 2:建立 Tk 類的例項

接下來,我們建立 Tk 類的例項,定義視窗的大小併為其指定標題:

root = Tk()
root.title("Combobox Example")
root.geometry('300x300')

步驟 3:建立組合框控制元件

然後,我們使用 ttk.Combobox() 方法建立組合框控制元件:

combo = ttk.Combobox(root)
combo.pack()

這將建立一個沒有選項的組合框控制元件。

步驟 4:向下拉選單新增選項

我們可以使用“values”引數向組合框新增選項:

combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"])
combo.pack()

這將建立一個帶有 5 個選項的下拉選單:“選項 1”、“選項 2”、“選項 3”、“選項 4”和“選項 5”。

步驟 5:獲取和設定值

要從組合框獲取當前選定的值,我們可以使用 get() 方法:

selected_option = combo.get()

這將返回當前選定的選項作為字串。

步驟 6:處理事件

我們可以使用 bind() 方法處理組合框的事件。例如,如果我們希望在使用者選擇選項時執行某個函式,我們可以繫結“<<ComboboxSelected>>”事件:

def option_selected(event):
   print(combo.get())
combo.bind("<<ComboboxSelected>>", option_selected)

我們定義了一個名為 option_selected 的函式,該函式在使用者從組合框中選擇選項時執行。此函式使用 combo.get() 獲取當前選定的選項,然後使用 print() 函式列印訊息。

步驟 7:顯示視窗

以下程式碼行將開始顯示組合框的 GUI。

root.mainloop()

示例

以下是程式的完整原始碼:

from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Combobox Example")
root.geometry('300x300')
combo = ttk.Combobox(root, values=["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"])
combo.pack()
def option_selected(event):
   selected_option = combo.get()
   print("You selected:", selected_option)
combo.bind("<<ComboboxSelected>>", option_selected)
root.mainloop()

輸出

以下是程式碼的輸出:

從下拉選單中選擇任何選項,我們將在終端中獲得如下所示的訊息:

You selected: Option 4

結論

在本文中,我們討論瞭如何使用其 tkinter 模組在 Python 中建立組合框控制元件。我們建立了一個帶有 5 個不同選項的下拉選單列表,使用者可以選擇任何選項。我們回顧了建立組合框控制元件所需的不同的步驟,例如設定值、處理事件等。

更新於: 2023 年 4 月 20 日

15K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告