我已经使用我的程序创建了几个按钮,并且我已经将它们包含在图像中。但是,我希望现在删除剩余的边框(有关屏幕截图,请参阅http://i.imgur.com/XRlmq39.png。)
" back"的代码按钮为例:
backbutton = ttk.Button(mainframe, command=homereturn)
backbuttonimage = PhotoImage(file="back.gif")
backbutton.config(image=backbuttonimage)
backbutton.pack()
backbutton.grid(column=0, row=1)
非常感谢任何帮助。
答案 0 :(得分:4)
如果使用图像定义自定义按钮,请使用标准按钮类而不是ttk按钮类。这将允许您将borderwidth属性设置为零:
import tkinter as tk
...
backbutton = tk.Button(..., borderwidth=0)
(不相关:调用backbutton.pack()
没有意义,并立即跟backbutton.grid(...)
关注 - 你只能使用一个用于特定的小部件,而你调用的最后一个是一个这有任何影响。在这种情况下,对pack
的调用完全无用)
答案 1 :(得分:4)
backbutton = tk.Button(..., highlightthickness = 0, bd = 0)
这适用于Python 3.x,我试过......
icon = PhotoImage(file="lock.png")
self.company_lock_button = Button(self.control_lock_frame, image = icon, highlightthickness = 0, bd = 0)
self.day_lock_button = Button(self.control_lock_frame, image = icon)
self.hour_lock_button = Button(self.control_lock_frame, image = icon)
答案 2 :(得分:1)
您可以使用 highlightthickness=0 和 bd=0
答案 3 :(得分:0)
这是你可以做到的一种方式..
使用ttk.Style()
将按钮的背景颜色设置为大型机的颜色。
root_color = "red" #Just an example, can't remember the default tk window color
mainframe = tk.Tk() #or whatever mainframe is
mainframe.configure(bg = root_color)
style = ttk.Style()
style.configure('TButton', background = root_color)
backbutton = ttk.Button(mainframe, command=homereturn)
backbuttonimage=PhotoImage(file="back.gif")
backbutton.config(image=backbuttonimage)
backbutton.pack()
backbutton.grid(column=0, row=1)
作为旁注,您不必在此处的ttk按钮中指定style = ..
,因为您正在配置默认的TButton
样式ttk使用。如果您为此按钮定义了自定义样式,则必须在按钮的关键字参数中指定它。
一个例子是给你的按钮圆边而不是使用图像来达到预期的效果。
答案 4 :(得分:0)
如果您将导入功能用作:
从tkinter导入*
Button(main_scr,text =“ OK”,bg =“ yellow”,bd = 0,command = delete1).pack()
bd = 0不会显示边框。希望这会有所帮助。
答案 5 :(得分:0)
我在使用图像按钮时遇到了同样的问题。 bd=0
和 highlichtthickness=0
都没有帮助。我什至怀疑 relief
选项可以发挥它的作用。
最终对我有帮助的东西:pady=0, padx=0
所以对于所问的问题:backbutton.config(image=backbuttonimage, highlichtthickness=0, pady=0, padx=0)
可以工作。
答案 6 :(得分:0)
到目前为止提供的所有解决方案都不适用于我的情况。
(我只能怀疑这与最近版本的新 MacOS GUI 样式策略有关(我使用的是 Big Sur)。此外,其他样式选项在 MacOS 上不起作用,例如救济选项没有对按钮外观的任何影响。)
这是我的解决方案:当您将图像放入按钮时,选项 width 和 height 以像素为单位。当您选择较小的值(即 10x10)时,边框似乎被图像覆盖。瞧!