button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name), bg='blue', fg='white')顔色修改為淺灰
时间: 2023-12-24 13:04:14 浏览: 20
您可以将`bg`属性设置为淺灰色,例如`bg='#D3D3D3'`,这将使按钮的背景色变为淺灰色。下面是示例代码:
```
for i, sheet_name in enumerate(self.sheet_names):
button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name), bg='#D3D3D3', fg='white')
button.used = False
button.grid(row=i, column=0, sticky="ew", padx=2, pady=2)
button.bind("<Enter>", lambda event, button=button: button.config(relief="sunken"))
button.bind("<Leave>", lambda event, button=button: button.config(relief="raised"))
button.bind("<Button-1>", lambda event, button=button: mark_used(button))
```
在这段代码中,我们将按钮的`bg`属性设置为`#D3D3D3`,这是淺灰色的十六进制表示。这样就可以将按钮的背景色设置为淺灰色了。
相关问题
def load_excel(self, filename): self.workbook = xl.load_workbook(filename) self.sheet_names = self.workbook.sheetnames # 清空左侧面板 for widget in self.panel_left.winfo_children(): widget.destroy() # 添加工作表按钮 for sheet_name in self.sheet_names: button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name)) button.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)在這段代碼中添加儅用戶點擊生成的按鈕時按鈕就改變顔色,來表示這個按鈕已使用
你可以在循环中为每个创建的按钮设置一个标记,表示该按钮是否已被使用。当用户点击按钮时,你可以将其对应的标记设置为“已使用”,并将其背景颜色更改为另一种颜色,以表示该按钮已被使用。以下是修改后的代码:
```
def load_excel(self, filename):
self.workbook = xl.load_workbook(filename)
self.sheet_names = self.workbook.sheetnames
# 清空左侧面板
for widget in self.panel_left.winfo_children():
widget.destroy()
# 添加工作表按钮
for sheet_name in self.sheet_names:
button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name))
# 添加一个标记,表示该按钮未被使用
button.used = False
button.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)
def mark_used(button):
# 将按钮的标记设置为“已使用”
button.used = True
# 更改按钮的背景颜色
button.configure(bg="gray")
for child in self.panel_left.winfo_children():
# 绑定按钮的点击事件
child.bind("<Button-1>", lambda event, button=child: mark_used(button))
```
在这个修改后的代码中,我们为每个按钮添加了一个标记`used`,初始值为False,表示该按钮未被使用。然后,我们在循环中为每个按钮绑定了一个点击事件,当用户点击按钮时,调用`mark_used()`函数,将该按钮的标记设置为“已使用”,并将其背景颜色更改为灰色。
# 添加工作表按钮 for i, sheet_name in enumerate(self.sheet_names): button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name)) button.used = False button.grid(row=i, column=0, sticky="ew", padx=2, pady=2) button.bind("<Enter>", lambda event, button=button: button.config(relief="sunken")) button.bind("<Leave>", lambda event, button=button: button.config(relief="raised")) button.bind("<Button-1>", lambda event, button=button: mark_used(button))在這個代碼中添加顔色
如果您想要为按钮添加颜色,可以使用Button组件的bg属性和fg属性来设置背景色和前景色。下面是示例代码:
```
for i, sheet_name in enumerate(self.sheet_names):
button = tk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name), bg='blue', fg='white')
button.used = False
button.grid(row=i, column=0, sticky="ew", padx=2, pady=2)
button.bind("<Enter>", lambda event, button=button: button.config(relief="sunken"))
button.bind("<Leave>", lambda event, button=button: button.config(relief="raised"))
button.bind("<Button-1>", lambda event, button=button: mark_used(button))
```
在这段代码中,我们在创建Button组件时,使用了bg和fg属性来设置背景色和前景色,将按钮的背景色设置为蓝色,前景色设置为白色。这样就可以为按钮添加颜色了。