Я разрабатываю приложение для лечебного учреждения.
Здесь мы должны регистрировать пациентов, сохранять их исследования и извлекать информацию о пациентах, когда это необходимо.
Я хочу создать графический интерфейс в виде трех отдельных страниц, но хочу, чтобы верхняя и левая боковые рамки оставались неизменными. я просто хочу изменить содержимое другой части изменилось.
Я попробовал это рамки, ноутбук и уровень выше. но не удалось.
class Window(object):
def __init__(self,master):
self.master = master
#Title
self.master.title("Phenotype Predictor")
#Geometry and Position
self.master.geometry('800x500+300+100')
self.master.config(bg="#292C35")
#set the resize option to false
self.master.resizable(0,0)
#call the widget function to create widgets
self.AddWidgets()
def AddWidgets(self):
self.TopFrame = Frame(self.master,bg = "#32323A",width =600, height=100)
self.TopFrame.grid(column =1, row=0)
self.RightFrame = Frame(self.master,bg = "#32323A",width =200, height=400)
self.RightFrame.grid(column =0, row=1,)
self.LogoFrame = Frame(self.master,bg = "#323200",width =200, height=100)
self.LogoFrame.grid(column =0, row=0,)
self.HomePage = Frame(self.master,bg = "#fff",width =600, height=400) #home page
self.HomePage.grid(column =1, row=1,)
self.topic = Label(self.TopFrame,text="Phenotype Predictor",fg='#fff',bg="#32323A",font=('Tahoma',20))
self.topic.place(relx=0.5, rely=0.5, anchor="center")
self.logo = Label(self.LogoFrame,text="LOGO",fg='#fff',bg="#32323A",font=('Tahoma',20))
self.logo.place(relx=0.5, rely=0.5, anchor="center")
self.AddPt = Button(self.RightFrame,text = "New Patient", font=('Tahoma',12), width =20,height = 3, bd=0,bg = "#688FD2",\
activebackground = "#32323A", activeforeground="#42f498", fg = "#fff",command =call_frame)
self.AddPt.grid(column=0, row=3,padx=10,pady=10)
self.FindPt = Button(self.RightFrame,text = "Find Patient", font=('Tahoma',12), width =20,height = 3, bd=0,bg = "#688FD2",\
activebackground = "#32323A", activeforeground="#42f498", fg = "#fff",command ='')
self.FindPt.grid(column=0, row=4,padx=10,pady=10)
self.predict = Button(self.RightFrame,text = "Predict Phenotype", font=('Tahoma',12), width =20,height = 3, bd=0,bg = "#688FD2",\
activebackground = "#32323A", activeforeground="#42f498", fg = "#fff",command ='')
self.predict.grid(column=0, row=5,padx=10,pady=10)
def ShowHome(self):
'''Show a frame for the given page name'''
HomePage.tkraise()
print ("Home")
def call_frame(self):
#self.HomePage = Frame(self.master,bg = "#000000",width =600, height=400) #home page
#self.HomePage.grid(column =1, row=1,)
print ('worked')
app=Tk() #creating a tk object
Window =Window(app) #creating a window object
app.mainloop()
Это ошибка, которую я получаю:
Exception in Tkinter callback
Traceback (most recent call last):
File "c:\users\admin\appdata\local\programs\python\python36\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "<ipython-input-15-15053b016662>", line 2, in call_frame
self.HomePage = Frame(self.master,bg = "#000000",width =600, height=400) #home page
NameError: name 'self' is not defined