在Tkinter中制作带图片的切换按钮

0 投票
2 回答
2146 浏览
提问于 2025-04-16 01:48

我知道怎么在Tkinter中把图片做成一个按钮,现在我想知道怎么把这个图片做成一个切换按钮,类似于单选按钮那样?

2 个回答

0

出于某种原因,tkinter告诉我它不知道indicatoron这个选项。不过幸运的是,还有其他方法可以实现切换的功能:ttk::buttonttk::checkbuttonttk::radiobutton这些控件支持一种叫做"Toolbutton"的样式。在ttk::checkbuttonttk::radiobutton的情况下,这让它们表现得像一个切换按钮,甚至可以用ttk::radiobutton来创建互斥的按钮。

import tkinter           # use "import Tkinter" for python 2
from tkinter import ttk  # use "import ttk" for python 2

tk = tkinter.Tk()
toggleBtn = ttk.Checkbutton(tk, text = 'Toogle me!', style = 'Toolbutton')
toggleBtn.pack()
tk.mainloop()
2

使用一个复选按钮,把“indicatoron”设置为False。这样就会把小方框关掉,你只会看到图片(或文字),每次点击时,按钮的外观会在凸起和凹下之间切换。

另一种方法是使用标签控件,然后自己处理按钮的点击事件。给它添加一个绑定,当你点击时,如果是凸起的就变成凹下的,如果是凹下的就变成凸起的。不过,使用复选按钮的内置功能会更简单,因为它还可以处理键盘的导航、激活等操作。

撰写回答