2017-04-05 144 views
-2

小問題在這裏,我的代碼似乎是乾淨的,但tkinter GUI不會出現?似乎可以弄明白。 GUI /代碼用於報告表單類型。tkinter GUI不顯示?

感謝您的幫助提前

from tkinter import * 

class FicheDeSignalement(Frame): 
    def __init__(self): 
     Frame.__init__(self) 

     programme = Frame() 
     programme.pack(side="top", fill="both", expand=True) 
     programme.grid_rowconfigure(0, weight=5) 
     programme.grid_columnconfigure(0, weight=5) 

     self.pages = {} 
     for onePage in (StartProgram, InformationsPage): 
      start_page = onePage(programme, self) 
      self.pages[onePage] = start_page 
      start_page.grid(row=0, column=0, sticky="nsew") 
     self.show_pages(StartProgram) 

    def show_pages(self, cont): 
     see_start_page = self.pages[cont] 
     see_start_page.tkraise() 


class StartProgram(Frame): 
    def __init__(self, parent, controller): 
     Frame.__init__(self, parent, controller) 
     label = Label(self, text="Fiche de Signalement", font=LARGE_FONT) 
     label.pack(padx=10, pady=10) 

     start_button = Button(self, text="Commencer", command=lambda: controller.see_page(InformationsPage)) 
     start_button.pack() 


class InformationsPage(Frame): 
    def __init__(self, parent, controller): 
     Frame.__init__(self, parent, controller) 

     label = Label(self, text="Informations sur le suspect", font=LARGE_FONT) 
     label.pack(side="top", fill="both", expand=True, padx=10, pady=10) 

     person_suspected = Label(self, text="Prenom") 
     person_suspected.grid(row=0, column=0, padx=10, pady=10) 
     first_name = Entry(self) 
     first_name.grid(row=0, column=1, padx=10, pady=10) 

     person_suspected_2 = Label(self, text="Nom") 
     person_suspected_2.grid(row=0, column=2, padx=10, pady=10) 
     last_name = Entry(self) 
     last_name.grid(row=0, column=3, padx=10, pady=10) 

     person_height = Label(self, text="Grandeur") 
     person_height.grid(row=1, column=0, padx=10, pady=10) 
     size_height = Entry(self) 
     size_height.grid(row=1, column=1, padx=10, pady=10) 

     person_weight = Label(self, text="Poids") 
     person_weight.grid(row=1, column=2, padx=10, pady=10) 
     size_weight = Entry(self) 
     size_weight.grid(row=1, column=3, padx=10, pady=10) 

app = FicheDeSignalement() 
app.mainloop() 
+0

縮進在您發佈的代碼中被破壞。 –

+0

是的,我知道班級縮進是錯誤的,但它不顯示反正 –

+1

我不知道你的意思是「它不反正」,但它顯示不正確。我們唯一要做的就是在問題中出現的代碼。 –

回答

1

除了縮進錯誤和丟失的導入語句和失蹤的LARGE_FONT定義,你有這樣的問題:

label = Label(self, text="Informations sur le suspect") 
label.pack(side="top", fill="both", expand=True, padx=10, pady=10) 

person_suspected = Label(self, text="Prenom") 
person_suspected.grid(row=0, column=0, padx=10, pady=10) 

兩個labelperson_suspected份額同一父母(self),但其中一個使用pack,另一個使用grid。您不能將它們都用於共享共同父項的小部件。您只能使用grid或僅使用pack

+0

太棒了!我明白 !非此即彼 !非常感謝 –