tkinter按钮形状改变
时间: 2023-09-08 21:11:47 浏览: 157
Python交互式图形编程的实现
Tkinter的按钮形状可以通过修改按钮的 `bd`(边框宽度)和 `relief`(边框样式)属性来实现。边框样式可以设置为 `FLAT`、`RAISED`、`SUNKEN`、`GROOVE`、或 `RIDGE`,这些样式会影响按钮的外观。
另外,你还可以使用 `Canvas` 组件来创建自定义形状的按钮,这需要一些绘图技巧和计算,但是可以实现更多的自定义效果。
下面是一个简单的例子,展示如何使用 Tkinter 创建一个带有圆形形状的按钮:
```python
import tkinter as tk
class CircleButton(tk.Canvas):
def __init__(self, master=None, **kwargs):
super().__init__(master, **kwargs)
self.config(width=50, height=50, bd=0, highlightthickness=0)
self.create_oval(2, 2, 48, 48, fill='gray', outline='black')
self.bind('<Button-1>', self.on_click)
def on_click(self, event):
print('Button clicked')
root = tk.Tk()
button = CircleButton(root)
button.pack(padx=20, pady=20)
root.mainloop()
```
这个例子中,我们创建了一个自定义的 `CircleButton` 组件,继承自 `Canvas`。在 `__init__` 方法中,我们设置了组件的宽度、高度、边框宽度和高亮边框宽度,然后使用 `create_oval` 方法绘制了一个圆形形状。最后,我们绑定了 `<Button-1>` 事件,当用户点击按钮时会触发 `on_click` 方法,我们在这个方法中打印了一条消息,表示按钮被点击了。
阅读全文