от
У меня есть холст и полоса прокрутки на Tk. У меня есть рамка на холсте. Я добавляю в этот кадр новые кадры с виджетами на нем и хочу прокрутить эти виджеты. Полоса прокрутки вообще не прокручивает виджеты, и когда я добавляю виджеты, которые находятся ниже окна, полоса прокрутки становится серой, и я вообще не могу ее использовать. Я новичок в Tkinter и Python. Я просто еще не знаю, что я делаю. Я не пытался сделать это с классом (я должен?). Я пытался использовать ttk, и искал сайты не для ответов класса, но ни один из них не работал.
from tkinter import *
from tkinter.ttk import *
actor_number=0
global tk 





def new_actor_button_command():
  global menu_frame
  global actor_number
  global canvas

  new_actor_frame=Frame(menu_frame,width=500,height=200)
  new_actor_frame.grid(row=1 actor_number,column=0,pady=20)
  actor_name_label=Label(new_actor_frame,text="Actor Name")
  new_actor_frame.place(relx=0.0, rely=0.0, anchor=CENTER)

  delete_actor_button=Button(new_actor_frame,text="Delete
                             Actor",command=delete_actor_button_command)
  new_actor_frame.grid(row=1 actor_number,column=1)

  actor_name_label.grid(row=2 actor_number,column=1)
  delete_actor_button.grid(row=2 actor_number,column=2)
  actor_number =1
  canvas.update_idletasks()

  scrollbar.config(command=canvas.yview)
  canvas.configure(scrollregion=canvas.bbox("all"))



def make_new_actor():
  global canvas
  global menu_frame
  new_actor_button=Button(menu_frame,text="Add New
                          Actor",command=new_actor_button_command)
  new_actor_button.grid(row=0,column=0)


def new_command():
  global actor_number
  actor_number=0
  make_new_actor()
tk=Tk()

tk.geometry("1200x800")
menubar=Menu(tk)

filemenu=Menu(menubar,tearoff=0)
filemenu.config(font=("Verdana",16))
filemenu.add_command(label="New",font=("Verdana",16),command=new_command)
menubar.add_cascade(label="File", menu=filemenu)

global scrollbar
canvas=Canvas(tk,width=1000,height=1000)
scrollbar=Scrollbar(tk,orient="vertical",command = canvas.yview)

menu_frame=Frame(canvas,width=1000,height=1000)
canvas.create_window(0,0,window=menu_frame)

canvas.configure(yscrollcommand=scrollbar.set)
canvas.configure(scrollregion=canvas.bbox("all"))
canvas.place(relx=0.0, rely=0.0)
menu_frame.pack(side=LEFT,expand=True)
scrollbar.pack(side=RIGHT,fill=Y)
tk.config(menu=menubar)
tk.mainloop()
Следует прокрутить виджеты внутри "menu_frame".              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...