Как я могу использовать список, который будет создан только после нажатия кнопки в открывающем фрейме в другом фрейме - PullRequest
0 голосов
/ 08 мая 2020

Я хочу использовать списки альфа и бета в кадре second_page, в то время как альфа и бета генерируются в функции def second_page_modifier (ctr):, которая будет вызываться только после нажатия кнопки в кадре InputPage.

Я удалил общий класс симулятора (приложения), чтобы код выглядел более коротким и понятным ... Все работает нормально, за исключением того, что используется альфа и бета.

Я пробовал много способов, но мой фрейм second_page создается в начинается, когда я запускаю свой код, поэтому я не могу использовать списки альфа и бета, так как страница уже создана. Нужна помощь застряла здесь за последние два дня.

from tkinter import *

def second_page_modifier(ctr):
  alpha = [1,2,3,4]
  beta  = [4,3,2,1]


class InputPage(Frame):

 def __init__(self, parent, controller):
  self.controller = controller
  Frame.__init__(self,parent)        
  label = Label(self, text="simmulator",font=LARGE_FRONT)
  label.grid(row=0, column=0, sticky ='n', columnspan =2)

  submit = ttk.Button(self, text = "Submit", command = lambda:[second_page_modifier(self),controller.show_frame(second_page)])
  submit.grid(row = 1, column =0, columnspan =2)


class second_page(Frame):
 def __init__(self,parent,controller):
   self.controller = controller
  Frame.__init__(self,parent)
  label = Label(self,text="Potential vs Position",font=LARGE_FRONT)
  label.pack()

  f = Figure(figsize=(5,5),dpi=100)
  a = f.add_subplot(111) 
  a.plot(alpha,beta)


app = simmulator()
app.mainloop()

...