Как сделать окно в tkinter canvas ниже того, в котором есть кнопка для выполнения функции
Всем добрый день
Я новичок в создании графических интерфейсов с помощью tkinter и Python 3.6
Я хотел сделать интерфейс типа "Quizlet" для добавления вопросов.
Как я могу сделать так, чтобы следующий кадр появился прямо под тем, в котором я нажал +?
Что я также хочу, так это иметь легкодоступную структуру данных для фреймов.
Большое спасибо!
Что я уже пробовал:
Вот мой код:
from tkinter import * root = Tk() height = root.winfo_screenheight() canvas = Canvas(root, bd=0,width=800,height=height,bg = "blue") screen_fit = height/105 frame_number = 2 EDIT_QUESTIONS= Label(root,text="Edit questions",font = "Courier").grid(row = 1,column = 1) class edit: def __init__(self): canvas.grid(row=2,column=2) self.new_frame() def new_frame(self): def remove(window): pass def new_frame1(self): global frame_number frame = Frame(root) r = (10 + 105)* (frame_number -1) frame_number = frame_number + 1 window = canvas.create_window(25, r , anchor = "nw", window = frame,tags =(frame_number)) text = Text(frame,height = 2) text.grid(row=1,column=2) plus = Button(frame,text="+",command = self.new_frame) plus.grid(row=2,column=1) minus = Button(frame,text="-" ) #minus.config(command = lambda: remove(window)) minus.grid(row=3,column=1) if frame_number > int(screen_fit)or frame_number == int(screen_fit): def on_mousewheel(event): canvas.yview_scroll(-1*(int(event.delta/120)), "units") scrollbar= Scrollbar(root,orient="vertical",command=canvas.yview) scrollbar.grid(row=2,column=4,sticky = "ns") canvas.bind_all("<MouseWheel>", on_mousewheel) canvas.configure(scrollregion=canvas.bbox("all"),width=800,height=700) canvas.configure(yscrollcommand=scrollbar.set) new_frame1(self) Edit = edit()