如何在Python(tkinter)中去除Spinbox上下按钮的3D外观效果
去掉Tkinter Spinbox组件箭头3D效果的实现方法
针对不同的Spinbox实现,有两种对应修改方案:
1. 原生tkinter.Spinbox修改方案
直接在实例化时配置三个核心参数即可:
buttonuprelief设置为flat,取消向上箭头的3D凸起样式buttondownrelief设置为flat,取消向下箭头的3D凸起样式- 可选搭配
bd=0去掉Spinbox整体边框,highlightthickness=0去掉聚焦时的高亮边框,扁平效果更彻底
示例代码:
import tkinter as tk root = tk.Tk() spin = tk.Spinbox( root, from_=0, to=100, buttonuprelief="flat", buttondownrelief="flat", bd=0, highlightthickness=0 ) spin.pack(padx=20, pady=20) root.mainloop()
2. ttk.Spinbox修改方案
需要通过ttk样式配置实现,修改对应样式的边框和按钮样式属性:
示例代码:
import tkinter as tk from tkinter import ttk root = tk.Tk() # 初始化样式实例 style = ttk.Style() # 自定义扁平样式 style.configure( "FlatSpinbox.TSpinbox", borderwidth=0, relief="flat", arrowcolor="#333" # 可自行调整箭头颜色 ) # 实例化时绑定自定义样式 spin = ttk.Spinbox( root, from_=0, to=100, style="FlatSpinbox.TSpinbox" ) spin.pack(padx=20, pady=20) root.mainloop()
内容的提问来源于stack exchange,提问作者McMonocle
相关产品推荐
相关产品推荐

