我正在构建一个用于显示一些数据结果的GUI应用程序。我想在每个结果的框架中显示名称和一些详细信息,因此我在其中创建了一个框架和一个画布。现在我想放置多个带有滚动条的画布中的帧,但它似乎不起作用。因此,我尝试将结果放置在多个画布中,但它也无法与滚动条一起使用。这里是它的一个片段。
from tkinter import *
class Results:
def __init__(self,master,topic = None):
self.result_frame = Frame(master, bg = '#ffffff', bd =5)
self.result_frame.place(relx=0.5,rely=0.25, relwidth = 1,relheight =
0.75, anchor ='n')
self.canvas = Canvas(self.result_frame,bg =
'#ffffff',bd=0,width=500,height=500)
self.canvas.place(relx = 0.0, rely = 0.0 )
self.sbar = Scrollbar(self.result_frame, orient = 'vertical')
self.sbar.config(command = self.canvas.yview)
self.sbar.place(relx = 0.98,width = 14 ,relheight = 0.5 )
self.canvas.configure(yscrollcommand=self.sbar.set)
self.rframe = Frame(self.canvas)
self.rframe.pack()
self.canvas.create_window((0,0), window=self.rframe, anchor="nw")
self.show_results()
def create_rcanvas(self,name,y) :
name = Canvas(self.rframe, bg = '#4da6ff')
name.place(relx=0.25,rely = y, relwidth = 0.55,height = 100)
def show_results(self):
y = 0.1
for i in range(0,10):
name = 'can'+str(i)
name = Canvas(self.canvas, bg = '#4da6ff')
name.place(relx=0.25,rely = y, relwidth = 0.55,height = 100)
y = y + 0.2
if __name__ == '__main__':
root = Tk()
root.geometry('600x600')
Results(root)
root.mainloop()
请为我提供解决方案,请尝试先运行并检查它。