여러 개의 창을 필요로하는 프로그램에서 작업 중이며 처음 로그인 창이 나타나면 다른 창을 자식으로 만들기 위해 T 최고 수준 위젯을 사용했지만이 코드는 두 개의 창을 계속 표시합니다 하나의.Python Tkinter Toplevel
from Tkinter import Frame, Toplevel
from ttk import Label, Entry, Button
class loginWindow(Toplevel):
def __init__(self):
Toplevel.__init__(self)
self.title("Title")
self.frame = Frame(self)
self.frame.pack()
self.__make_layout()
self.mainloop()
def __make_layout(self):
self.frame.user_name_label = Label(text="User name:")
self.frame.user_name_text = Entry()
self.frame.user_name_label.grid(row=0, column=0)
self.frame.user_name_text.grid(row=0, column=1)
self.frame.password_label = Label(text="Password:")
self.frame.password_text = Entry()
self.frame.password_label.grid(row=1, column=0)
self.frame.password_text.grid(row=1, column=1)
self.frame.login_button = Button(text="Login")# , command=self.__create_window)
self.frame.login_button.grid(row=2, column=0, columnspan=2)
if __name__ == '__main__':
win1 = loginWindow()
어떻게 Aqua 대신 X11 용으로 Tkinter를 컴파일 할 수 있습니까? 그게 여러 버전 전에 저를 위해 일하는 것을 멈췄습니다 ... – abarnert
저는 아나콘다 2.7을 사용하고 있습니다. –
Crazy ... 어쨌든 Cygwin Python과 X11을 Windows에서 복제 할 수있었습니다. 그래서 나는 Tkinter가 사용하지 않는 메인 윈도우를 숨기기 위해 Aqua, Windows, 그리고 적어도 하나의 현대 GNOME X11 시스템에서 작동한다고 생각합니다. 그러나 모든 X11 시스템에서 작동하지 않습니다. 아마도 XQuartz 나 Cygwin이 일부 윈도우 관리를 기본 윈도우 관리자에 위임합니까? – abarnert