制作主题TK按钮有边框

时间:2015-03-26 15:06:59

标签: python tkinter tcl tk ttk

使用Linux上的默认主题,我无法获得带边框的按钮。这是我的尝试:

from tkinter import *
from tkinter.ttk import *

tk = Tk()

style = Style()
style.configure('TButton.border', background='red')

button = Button(tk, text='Hello')
button.pack()

mainloop()

我发现主题非常困难,因为我不清楚我能改变什么。有时候改变似乎无能为力。

2 个答案:

答案 0 :(得分:1)

这取决于您使用的主题;并非所有主题都将所有小部件与它们可能具有的所有元素相关联,并且一些(例如,OSX本机主题,aqua)非常严格地控制许多元素的外观和感觉(因为主题引擎在case委托给本地绘图代码)。完全可能的是,您使用的主题根本不允许红色边框。

尝试切换到其他主题...

ttk.Style().theme_use('clam')

答案 1 :(得分:0)

简单提案......如果你真的想要一个边框。理解它不应该令人满意。

import Tkinter as tk
root = tk.Tk()

def nothing(event=None):
    print "click"

bgbutton= tk.Button(root, )
bgbutton.pack()
bgbutton.configure(relief=tk.GROOVE, borderwidth=5, background="#2244FF", activebackground="#FF0000", highlightcolor="#00FF00")
button= tk.Button(bgbutton, text="Glance at my border", command=nothing)
button.pack()

button.configure(relief=tk.GROOVE, borderwidth=2)

root.mainloop()