我真的在与Tkinter挣扎,我想创建一个议程应用程序,并且需要一个滚动条来显示每天之间有足够空间的所有日子。我一直在寻找不同的解决方案,我最后一个解决方案,但是它不起作用,有人可以给我一个解决方案吗?
这是我的代码。
class App(Tk):
"""Un blocus a une date de début et une date de
fin, en paramètre il a également la liste de tous
les cours faisant partie du blocus."""
def __init__(self, liste_des_cours):
self.c = Frame(fen)
self.fen=fen
fen.grid_rowconfigure(0, weight=1)
fen.grid_columnconfigure(0, weight=1)
start=Button(self.c, text="Créer planning",command=self.generer)
start.grid(padx=100,pady=100)
start.bind('<Enter>',self.generer)
self.liste_des_cours=liste_des_cours
self.generer()
def supp(self):
for widget in fen.winfo_children():
widget.destroy()
def generer(self,event=None):
"""Génère l'interface graphique"""
self.supp()
self.canvas = Canvas(self.fen, borderwidth=0, background="#ffffff")
self.frame = Frame(self.canvas, background="#ffffff")
self.vsb = Scrollbar(self.fen, orient="vertical", command=self.canvas.yview)
self.canvas.configure(yscrollcommand=self.vsb.set)
self.vsb.pack(side="right", fill="y")
self.canvas.pack(side="left", fill="both", expand=True)
self.canvas.create_window((4,4), window=self.frame, anchor="nw",
tags="self.frame")
self.frame.bind("<Configure>", self.onFrameConfigure)
self.populate()
self.menu()
def populate(self):
for a in range(7):
Label(fen, text=weekdays[a],padx=60,pady=27).grid(row=1,column=a)
for b in range(6,23):
Label(fen, text=str(b)+"h",padx=60,pady=50).grid(row=b,column=a)
fen=Tk()
Appli=App(priority_object)
fen.mainloop()