所以我知道这可以在常规tkinter 中完成,indicatoron=0
但这不适用于 ttk 或主题 tkinter。有谁知道我将如何用我目前拥有的东西来实现这一目标:
radiobutton1 = ttk.Radiobutton(labelFrameDegreesIncrement, text='1°', variable=varDegreeIncrement, value=1).grid(row=0, column=0)
如果这不是此处发布的表格问题,也很抱歉。这是我第一次发布问题。
所以我知道这可以在常规tkinter 中完成,indicatoron=0
但这不适用于 ttk 或主题 tkinter。有谁知道我将如何用我目前拥有的东西来实现这一目标:
radiobutton1 = ttk.Radiobutton(labelFrameDegreesIncrement, text='1°', variable=varDegreeIncrement, value=1).grid(row=0, column=0)
如果这不是此处发布的表格问题,也很抱歉。这是我第一次发布问题。
问题:主题 tkinter Radiobutton 凹陷和凸起?
使用以下style options
命令隐藏indicator
:
indicatorrelief=tk.FLAT,
indicatormargin=-1,
indicatordiameter=-1,
用于style.map(...
根据 更改background=
颜色state
。
样式选项
根据参考:某些选项仅适用于特定主题。
要隐藏
indicator
、 使用theme
clam
或alt
,您需要:indicatormargin=-10
import tkinter as tk
import tkinter.ttk as ttk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title('ttk')
style = ttk.Style(self)
# style.theme_use('alt') # 'aqua', 'step', 'clam', 'alt', 'default', 'classic'
style.configure('IndicatorOff.TRadiobutton',
indicatorrelief=tk.FLAT,
indicatormargin=-1,
indicatordiameter=-1,
relief=tk.RAISED,
focusthickness=0, highlightthickness=0, padding=5)
style.map('IndicatorOff.TRadiobutton',
background=[('selected', 'white'), ('active', '#ececec')])
MODES = [("Monochrome", "1"),
("Grayscale", "L"),
("True color", "RGB"),
("Color separation", "CMYK")]
v = tk.StringVar(self, "L") # initialize
for text, mode in MODES:
ttk.Radiobutton(self, text=text, variable=v, value=mode, width=15,
style='IndicatorOff.TRadiobutton').grid()
if __name__ == "__main__":
App().mainloop()
用 Python 测试:3.5 - 'TclVersion':8.6 'TkVersion':8.6