Я сделал 2 окна: main
и login
. Я хочу, чтобы кнопка и окно входа были на верхнем уровне, но всегда переходили в главное, почему? Если я пишу код в poplogin(), а не импортирую модуль, он работает правильно.
main.py
#! python3
from tkinter import *
from login import login
def demo():
root = Tk()
root.title("demo")
root.geometry('640x400')
Button(root,text='login',width=10,command=poplogin).grid(row=3,column=1,padx=10,pady=5)
root.mainloop()
def poplogin():
toplevel = Toplevel()
toplevel.grid()
toplevel.title('login')
login(toplevel)
if __name__ == "__main__":demo()
login.py
#! python3
from tkinter import *
class login(Frame):
def __init__(self,parent=None):
Frame.__init__(self,parent)
self.creat_login()
def creat_login(self):
Label(text='email').grid(row=1)
user_email = Entry()
user_email.grid(row=1,column=1,padx=10,pady=5)
Label(text='password').grid(row=2)
user_password = Entry(show='*')
user_password.grid(row=2,column=1,padx=10,pady=5)
Button(text='login',width=10).grid(row=3,column=1,padx=10,pady=5)
if __name__ == '__main__':
login().mainloop()
parent
в виджетах:Entry(parent, ...)
и т. д. Если вы не используете родителя, тоtkinter
используйте главное окно. - person furas   schedule 21.11.2016