【问题标题】:How do i change the colour of a button border tkinter如何更改按钮边框tkinter的颜色
【发布时间】:2018-11-01 12:29:38
【问题描述】:

如何在 tkinter 中更改边框的颜色

我查看了推荐使用highlightcolorhighlightbackground 的其他解决方案,但是这些都不起作用。

excercises_button = Button(canvas, width=327, height=150, image=dumbell_img,borderwidth=4, relief="ridge", bg = "gray55", command = Excercises)
canvas_excercises_button = canvas.create_window(168, 724, window=excercises_button)

我希望这个按钮的边框是橙色的。

这是它目前的样子: https://i.stack.imgur.com/3QX8X.png

【问题讨论】:

标签: python tkinter widget


【解决方案1】:

这是一个示例,说明如何使用框架和按钮创建一种边框。

import tkinter as tk

root = tk.Tk()

frame = tk.Frame(root, highlightbackground="orange", highlightcolor="orange", highlightthickness=4, bd=0)
frame.grid(row=0, column=0)
# adding weights so the button is center on the frame.
frame.columnconfigure(0, weight=1)
frame.rowconfigure(0, weight=1)

btn = tk.Button(frame,text="test", borderwidth=4, relief="ridge", bg = "gray55").grid(row=0, column=0)
root.mainloop()

结果:

【讨论】:

  • 不幸的是,我不能使用这种方法,因为它不适用于我更广泛的应用程序。是否没有可以添加小边框的属性或单行代码?
  • @DominicCulyer 好吧,没有任何简单的方法可以做到这一点。它只是不存在于 Tkinter 中。但是,我确信我向您展示的内容的修改版本可以并且会起作用。只是需要一些努力。你可以用这个做更多的事情。就像确保即使在调整窗口大小时边框始终是小部件周围的特定大小一样。它只是用正确的方法处理配置事件的问题。
【解决方案2】:

我找到了解决办法!

我所做的是创建了一个围绕按钮的矩形。

canvas.create_rectangle(0, 638, 1100, 900, fill=colour)

然后我将三个按钮缩小了几个像素,以便显示矩形的背景。

【讨论】:

  • 这也是一个很好的解决方法。很高兴您找到了适合您的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2014-02-22
相关资源
最近更新 更多