所以,在Tkinter Buttons中似乎有一个浮雕属性。这是默认提升,当按下按钮时,它会变为凹陷。我使用了救济= FLAT,但是当我点击这个按钮时它仍然是凹陷的。有没有办法让它在点击时有不同的缓解?它会涉及改变边框颜色吗?
Button(text=day, width=2,
relief=FLAT, activebackground = self.color_clicked,
background = self.today_color)
这看起来很平坦,但是当我点击它时它会变成凹陷(但是当我放开时它显然会变回扁平状态。)
答案 0 :(得分:2)
您可以将鼠标单击绑定到一个强制按钮释放的功能,使其保持平整,否则鼠标单击将在点击时使用其默认操作:使按钮凹陷。
def keep_flat(event): # on click,
if event.widget is btn: # if the click came from the button
event.widget.config(relief=FLAT) # enforce an option
def callback():
print('button clicked')
root = Tk()
btn = Button(root, text='click', relief=FLAT, command=callback)
btn.pack()
root.bind('<Button-1>', keep_flat) # bind the application to left mouse click
mainloop()
另一种选择是将按钮单击绑定到字符串&#34; break&#34;,这可以防止任何典型的事件处理程序开始(包括按钮的command
选项):< / p>
btn.bind('<Button-1>', lambda e: 'break')
http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
答案 1 :(得分:2)
将-borderwidth
(-bd)
设为0
对我有用。按钮文本一直向下移动,显示按钮被按下,但是没有出现凹陷边框。
答案 2 :(得分:0)
绑定鼠标单击功能不是正确的解决方案,因为配置代码在显示按钮释放后执行。布莱恩建议使用标签似乎是实现这一目标的唯一方法。