2017-11-12 14 views
0

私の目的は、他のウィンドウに継承できるウィンドウのプロパティでデフォルトクラスを作成することです。Tkinterクラスの問題

from tkinter import * 
class window(): 
     def __init__(self, Width, Height, Bg): 
      self.Width = Width 
      self.Height = Height 
      self.Bg = Bg 

      object = Tk() 
      frame = Frame(width=Width, height=Height, bg=Bg) 
      frame.pack() 


class child_login(window(768, 576, "ORANGE")): 

    def __init__(): 


     Label(frame, text = "Username").grid(row=0) 
     Label(frame, text = "Password").grid(row=1) 
     e1=Entry(frame) 
     e1.insert(10, "name") 
     e1.grid(row=0, column=1) 
     e2=Entry(frame, show = "*") 
     e2.grid(row=1, column=1) 
     Button(frame, text = "Quit", command = master.quit).grid(row=3, column=0) 
     Button(frame, text = "print", command = display_entry).grid(row=3, column=1) 
     mainloop() 


child_login() 

child_loginクラスの場合、window()プロパティを継承し、その下にラベルとボタンが定義されているフレームが必要でした。残念ながら、2つのウィンドウが作成され、エラーが発生する

tkinter.TclError: bad screen distance "child_login"

答えて

1

クラスを継承するときには、これらのクラスを開始できません。最初にクラスを継承し、、次にを個別に開始します。

ので、代わりにこの:

class child_login(window): 

    def __init__(self): 
     window.__init__(self, 768, 576, "ORANGE") 

class child_login(window(768, 576, "ORANGE")): 

これを行ってください