# 添加工作表按钮 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='black', font=('Arial', 10, 'bold')) 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))將這段代碼中視覺效果和顔色設置成跟這個代碼一致style = ttk.Style() style.configure('my.TButton', font=('Arial', 10)) style.map('my.TButton', background=[('active', 'blue')]) button = ttk.Button(root, text="保存", style='my.TButton', command=lambda: print("保存")) button.pack(side=tk.LEFT, padx=5, pady=5)
时间: 2023-12-27 14:04:09 浏览: 24
以下是修改后的代码,将按钮的视觉效果和颜色设置成与提供的代码一致:
```
style = ttk.Style()
style.configure('my.TButton', font=('Arial', 10))
style.map('my.TButton', background=[('active', '#007FFF')])
for i, sheet_name in enumerate(self.sheet_names):
button = ttk.Button(self.panel_left, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name), style='my.TButton')
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))
```
相关问题
# 添加工作表按钮 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属性来设置背景色和前景色,将按钮的背景色设置为蓝色,前景色设置为白色。这样就可以为按钮添加颜色了。
def load_excel(self, filename, menu_label, selected_label_text): self.la = menu_label self.workbook = xl.load_workbook(filename) self.sheet_names = sorted(self.workbook.sheetnames) # 按工作表名称从小到大排序 self.selected_label.config(text=selected_label_text) # 更新选中标签文本 # 清空左侧面板 for widget in self.sheet_frame.winfo_children(): widget.destroy() # 添加工作表按钮 for i, sheet_name in enumerate(self.sheet_names): button = tk.Button(self.sheet_frame, text=sheet_name, command=lambda name=sheet_name: self.show_sheet(name)) button.grid(row=i, column=0, sticky="ew", padx=1, pady=1)在這個代碼中添加一個將生成的按鈕在寫入這個面板中# 创建Frame来放置唯一值面板 unique_frame = tk.Frame(self.panel_right, bg='white') unique_frame.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5),放置方式改爲橫著每5個一行,按鈕改爲文本,不帶其他功能
可以在添加工作表按钮的循环中,加入以下代码来实现按照行数5个一行,文本按钮的功能:
```
# 添加工作表按钮
for i, sheet_name in enumerate(self.sheet_names):
button = tk.Button(self.sheet_frame, text=sheet_name)
button.grid(row=i%5, column=i//5, sticky="ew", padx=1, pady=1)
```
这里使用了取模(%)和整除(//)操作来确定按钮的行和列。同时,每个按钮的 padx 和 pady 值可以根据需要进行调整。