在我的应用程序中,我看到彩色按钮之间有很多我并不想要的空间,我如何才能删除它们?我尝试使用button.pack(pady=0)
作为按钮,但没有任何效果
我在这里添加了我的代码,并尝试只放置代码的相关部分
我添加了画布,以便可以添加滚动条。我之所以使用这些按钮,是因为我想添加一个方法,显示可以编辑/删除任务的页面
class TodoFrame(Frame):
def __init__(self, parent, controller):
Frame.__init__(self, parent)
self.canvas = Canvas(self)
self.scrollbar = Scrollbar(self, orient="vertical", command=self.canvas.yview)
task_frame = Frame(self.canvas, height=self.winfo_height()-100)
task_frame.pack(fill="x", expand=True)
self.canvas.create_window(0, 0, anchor='center', window=task_frame, width=self.winfo_width(), height=self.winfo_height()-100)
priority_colors = ("#00CED1", "#00FA9A", "#FF6347", "#B0C4DE") # colors for buttons
# the db.fetch_incomplete_tasks() fetches tasks from mysql database
# and returns a list of tuples containing title, description, priority and completion status of the task
self.incomplete_tasks = sorted(db.fetch_incomplete_tasks(), key=lambda x: x[2]) # sorting list by priority
if self.incomplete_tasks:
incomplete_task_label = Label(task_frame, text="Incomplete Tasks", font=('calibri', 16))
incomplete_task_label.pack(padx=(50, 0), anchor="center")
for task in self.incomplete_tasks:
title, description, priority, status = task
task_btn = Button(task_frame, text=title, bg=priority_colors[priority-1], bd=0, width=25, wraplength=400, justify="left", pady=5)
task_btn.pack(expand=True, padx=(50,0))
所以问题是我在这行中设置了画布的高度
self.canvas.create_window(0, 0, anchor='center', window=task_frame, width=self.winfo_width(), height=self.winfo_height()-100)
这就形成了额外的空间,而按钮之间的空间就是为了填补这个空白
相关问题 更多 >
编程相关推荐