CustomTkinter按钮按下时背景与文本颜色异常变化问题求助
CustomTkinter按钮按下样式配置及表格生成实现
我需要在CustomTkinter(简称ctk)项目中实现以下效果:
- 按钮被按下时,背景颜色发生变化,同时文本颜色从白色变为黑色
- 点击按钮调用
gen_table函数,在ttkbootstrap窗口中创建表格
按钮状态截图
- 按下前:

- 按下后:

实现代码
import customtkinter as ctk import ttkbootstrap from ttkbootstrap.tableview import Tableview from ttkbootstrap.constants import * def gen_table(): # 创建ttkbootstrap窗口并生成表格 app = ttkbootstrap.Window() coldata = ["LicenseNumber", "company name", "text"] rowdata = [("A123", "IzzyCo", 12)] dt = Tableview( master=app, coldata=coldata, rowdata=rowdata, searchable=True, bootstyle=PRIMARY, stripecolor=("lightgreen", None), ) dt.pack(fill=BOTH, expand=YES, padx=10, pady=10) app.mainloop() if __name__ == "__main__": mainWindow = ctk.CTk() # 配置按钮的正常、悬停、按下状态样式 btn = ctk.CTkButton( master=mainWindow, text="something", bg_color="transparent", # 正常状态样式 fg_color="blue", # 可根据需求修改正常背景色 text_color="white", # 正常文本颜色 # 悬停状态样式 hover_color="red", # 按下状态样式 pressed_color="gray", # 可根据需求修改按下时背景色 pressed_text_color="black", # 按下时文本颜色 command=gen_table ).grid() mainWindow.mainloop()
关键说明
- 通过CTkButton的
pressed_color参数设置按下时的背景颜色,pressed_text_color设置按下时的文本颜色,实现点击时的样式切换 gen_table函数中使用ttkbootstrap的Tableview组件创建可搜索、带条纹样式的表格
内容的提问来源于stack exchange,提问作者kush_1244
相关产品推荐
相关产品推荐

