if i click noticeall in menubar, i wanna it to be displayed on textarea at mainframe.py how can i write code in def noticeall.. plz
main.py file code is
import mainframe
mainframe.show()
mainframe.py file code is
def show ():
frame = tkinter.Tk()
frame.title('test')
frame.geometry('800x600')
frame.resizable(False, False)
sf = ScrolledFrame(frame, width=800, height=600)
sf.pack(side="top", expand=1, fill="both")
sf.bind_arrow_keys(frame)
sf.bind_scroll_wheel(frame)
menu_bar = menubar.make_menubar(frame,)
frame.config(menu=menu_bar)
inner_frame = sf.display_widget(Frame)
entry = Entry(inner_frame, width=750)
entry.pack()
entry.focus_set()
textarea = Text(inner_frame, width=750, height=200)
textarea.pack()
frame.mainloop()
menubar.py file code is
def make_menubar(frame):
menubar = Menu(frame)
file_menu = Menu(menubar, tearoff=0)
file_menu.add_command(label="noticeall",command=noticeall)
def noticeall():
notice_list = ncontroller.select_all()
print_list(notice_list)'
plz recommend next line code print_list.insert(textarea)
??? - i cant, textarea is local variable in mainframe.py
def make_menubar(frame, textarea):
menubar = Menu(frame)
file_menu = Menu(menubar, tearoff=0)
file_menu.add_command(label="noticeall", command=lambda: noticeall(textarea))
return menubar
def noticeall(textarea):
notice_list = ncontroller.select_all()
textarea.insert(notice_list)
In fact, the best way is to create a class. Pass parameters through self.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.