我在创建GUI时遇到了一些问题。这是在改变背景时,我可以改变整个背景,也可以改变标签等的背景,但是当涉及按钮和输入字段等时,按钮后面有一个白色区域,我似乎无法改变:S < / p>
问题可以在下图中看到。
(没有足够的声望来发布图片,所以会链接它) http://www.thesite.dk/upload/media/tkinter.png
使用代码:
from Tkinter import *
background = "BLACK"
textColor = "WHITE"
root = Tk()
root.configure(bg=background)
Email = Label(root, text="Enter E-mail Address :", font=("Lucida Grande", 12), fg=textColor, background=background)
Email.grid(row=6, column=0, sticky=NW, padx=19)
EmailField = Entry(root, width=30)
EmailField.grid(row=6, column=0, columnspan=3, sticky=NW, padx=159)
EmailButton = Button(root, text="Mail It !", background=background)
EmailButton.grid(row=6, column=0, columnspan=6, sticky=NW, padx=389)
SM_Status = StringVar()
EmailStatus = Label(root, textvariable=SM_Status, font=("Lucida Grande", 12), fg=textColor, background=background)
EmailStatus.grid(row=6, column=2, sticky=NW, padx=20)
可能有一个简单的解决方案,但是无数的谷歌和几个小时的阅读文档和论坛帖子让我无处可寻:(我希望你能帮助...
是的,我正在使用Mac OS X和python 2.6
答案 0 :(得分:10)
我知道已经有一段时间了,你肯定不再处理这段代码,但我找到了一个解决方案,我会在这里发布给每个有类似问题的人。这与将条目周围的区域作为背景颜色的方式相同:
highlightbackground=color
答案 1 :(得分:2)
在macintosh上,你可以对原生按钮的背景颜色做些什么。这就是我们为原生按钮付出的代价。在其他平台和其他小部件上,您看到的可能是“突出显示背景”,可以使用小部件的highlightbackground
和highlightthickness
属性进行修改。这是小部件用来表示焦点的区域。
答案 2 :(得分:1)
这似乎与平台有关,也许主题依赖于此。我猜你是按照按钮在屏幕截图中看起来的方式在Mac上。看起来按钮文本是在位图中绘制的,它提供了按钮的圆形轮廓。它可能不在Tkinter的控制范围内。
在具有经典主题的Windows上,按钮背景为黑色,但由于浮雕凸起,因此呈灰色轮廓。当我将它设置为浮雕= FLAT时,它完全是黑色。
如果您所包含的样本可以直接运行,那将会很有帮助。我必须为textColor添加一个定义,注释掉command = CMD.send_mail,并在最后添加root.mainloop()。我还在按钮设置中添加了textColor = WHITE。
尝试使用浮雕选项,或更改系统主题以查看是否可以影响按钮的绘制方式。