Python 3 – Tkinter 單選按鈕(Radiobutton)
在Tkinter中,單選按鈕(Radiobutton)是一種特殊類型的tkinter組件,允許用戶從一組相互排斥的選項中選擇一個。愛掏網 - it200.com在本文中,我們將學習如何在Python 3中使用Tkinter創建單選按鈕。愛掏網 - it200.com
單選按鈕控件(Radiobutton)允許用戶在一組可選項中選擇一個。愛掏網 - it200.com它們與Checkbuttons類似,但它們沒有同時選擇多個選項的能力。愛掏網 - it200.com相反,單選按鈕組中的每個單選按鈕都是相互排斥的,用戶只能選擇一個。愛掏網 - it200.com
使用單選按鈕控件時,您可以將每個單選按鈕關聯到回調函數。愛掏網 - it200.com每當用戶選擇單選按鈕時,關聯的回調函數將會自動執行。愛掏網 - it200.com
在Tkinter中使用單選按鈕控件有兩種方式。愛掏網 - it200.com一種是使用tkinter.Radiobutton構造函數,另一種是使用Radiobutton類的實例對象。愛掏網 - it200.com
在Python 3 中創建單選按鈕
以下代碼演示了如何使用tkinter Radiobutton類在Python 3中創建單選按鈕控件:
import tkinter as tk
root = tk.Tk()
# 創建一個 Tkinter 控件
# Label控件
tk.Label(root, text="選擇您最喜歡的編程語言:", justify=tk.LEFT, padx=20).pack()
# Radiobutton 控件(單選按鈕)
v = tk.IntVar()
# 使用Radiobutton類的實例對象向root窗口添加單選按鈕控件
tk.Radiobutton(root, text="Python", padx=20, variable=v, value=1).pack(anchor=tk.W)
tk.Radiobutton(root, text="Java", padx=20, variable=v, value=2).pack(anchor=tk.W)
tk.Radiobutton(root, text="C++", padx=20, variable=v, value=3).pack(anchor=tk.W)
tk.Radiobutton(root, text="PHP", padx=20, variable=v, value=4).pack(anchor=tk.W)
root.mainloop()
在此代碼中,我們創建一個包含四個單選按鈕的單選按鈕組。愛掏網 - it200.com以Python為例,我們使用Radiobutton類的實例對象創建單選按鈕,并將單選按鈕控制的變量(v)設置為1(即選擇第一個單選按鈕)。愛掏網 - it200.com
Tkinter 單選按鈕填充
您可以使用padx和pady參數來設置單選按鈕控件周圍的填充
tk.Radiobutton(root, text="Python", padx=20, variable=v, value=1).pack(anchor=tk.W)
tk.Radiobutton(root, text="Java", padx=20, variable=v, value=2).pack(anchor=tk.W)
tk.Radiobutton(root, text="C++", padx=20, variable=v, value=3).pack(anchor=tk.W)
tk.Radiobutton(root, text="PHP", padx=20, variable=v, value=4).pack(anchor=tk.W)
在上面的代碼中,框架將為每個單選按鈕設置水平填充為20像素。愛掏網 - it200.com
此外,您也可以使用ipadx和ipady參數來設置單選按鈕控件內部組件的填充。愛掏網 - it200.com
tk.Radiobutton(root, text="Python", padx=20, variable=v, value=1, ipady=5).pack(anchor=tk.W)
tk.Radiobutton(root, text="Java", padx=20, variable=v, value=2, ipady=5).pack(anchor=tk.W)
tk.Radiobutton(root, text="C++", padx=20, variable=v, value=3, ipady=5).pack(anchor=tk.W)
tk.Radiobutton(root, text="PHP", padx=20, variable=v, value=4, ipady=5).pack(anchor=tk.W)
在上面的代碼中,我們使用了ipady參數來設置每個單選按鈕的內部元素(文本)的垂直填充為5像素。愛掏網 - it200.com
Tkinter 單選按鈕布局
在上面的代碼中,我們將所有的單選按鈕都放置在左側方向,緊貼文本。愛掏網 - it200.comTkinter的pack()布局管理器會自動處理單選按鈕的位置和大小,從而讓它們排列成水平列表。愛掏網 - it200.com
如果您想要使用其他布局管理器,單選按鈕控件也可以應用于grid()和place()。愛掏網 - it200.com
tk.Radiobutton(root, text="Python", padx=20, variable=v, value=1).grid(row=0, column=0)
tk.Radiobutton(root, text="Java", padx=20, variable=v, value=2).grid(row=1, column=0)
tk.Radiobutton(root, text="C++", padx=20, variable=v, value=3).grid(row=2, column=0)
tk.Radiobutton(root, text="PHP", padx=20, variable=v, value=4).grid(row=3, column=0)
上面的代碼使用grid()方法讓單選按鈕在不同的行和列中更好地可調整大小和位置。愛掏網 - it200.com
如果您想要使用place()布局管理器,可以通過設置相應的坐標來調整單選按鈕的位置和大小。愛掏網 - it200.com
Tkinter 單選按鈕命令回調函數
在前面的示例代碼中,我們創建了一個單選按鈕單元組,并將單選按鈕控制的變量與整數變量v關聯。愛掏網 - it200.com我們通過設置value參數來設置每個單選按鈕控件的值,例如“1”、“2”、“3”和“4”。愛掏網 - it200.com