Tkinter yazdığım diğer program ile giriş sayfası kodumu nasıl birleştirebilirim

from tkinter import *
from tkinter import ttk

class xyz:

user = 'admin'
passw ='admin'

def __init__(self,root):

    self.root = root
    self.root.title('LOGIN SCREEN')

    Label(text = ' Username ',font='Times 15').grid(row=1,column=1,pady=20)
    self.username = Entry()
    self.username.grid(row=1,column=2,columnspan=10)

    Label(text = ' Password ',font='Times 15').grid(row=2,column=1,pady=10)
    self.password = Entry(show='*')
    self.password.grid(row=2,column=2,columnspan=10)

    ttk.Button(text='LOGIN',command=self.login_user).grid(row=3,column=2)


def login_user(self):

    '''Check username and password entered are correct'''
    if self.username.get() == self.user and self.password.get() == self.passw:

        # Do the work done by the main of DBMSproject.py

        #Destroy the current window
        root.destroy()



        #Open new window
        newroot = Tk()
        application = School_Portal(newroot)
        newroot.mainloop()



    else:

        '''Prompt user that either id or password is wrong'''
        self.message = Label(text = 'Username or Password incorrect. Try again!',fg = 'Red')
        self.message.grid(row=6,column=2)

if name == ‘main’:

root = Tk()
root.geometry('425x225')
application = xyz(root)

root.mainloop()

anladığım kadarıyla giriş yaptıktan sonra başka python dosyasını açmak istiyorsunuz.
Dosyanızın Adı yazan yere diğer python dosyasını yazacaksınız. Aynı Klasörde olması gerektiğini unutmayın.

 if self.username.get() == self.user and self.password.get() == self.passw:

        root.destroy()
        import DosyanizinAdi

import’larda dosya uzantısı yazılmaz.

Doğru, uykusuzluk işte. Düzelteyim :smiley:

1 Beğeni

dediğinizi yaptım ekran açıldı fakat ‘’ _tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid’’ böyle bir hata alıyorum

from tkinter import *
from tkinter import ttk

class giris:

user = 'çgf'
passw ='123'

def __init__(self,root):

    self.pen = root #pen=pencere
    self.pen.title('Üye Girişi')

    Label(text = ' Kullanıcı Adı ',font='Times 15').grid(row=1,column=1,pady=20)
    self.kuladi = Entry()
    self.kuladi.grid(row=1,column=2,columnspan=10)

    Label(text = ' Şifre ',font='Times 15').grid(row=2,column=1,pady=10)
    self.sifre = Entry(show='*')
    self.sifre.grid(row=2,column=2,columnspan=10)

    ttk.Button(text='Giriş',command=self.login_user).grid(row=3,column=2)


def login_user(self):

    '''şifre doğru ise'''
    if self.kuladi.get() == self.user and self.sifre.get() == self.passw:
        import ünça.py



        #pencereyikapa
        pen.destroy()


    else:

        '''şifre yanlış ise'''
        self.message = Label(text = 'KULLLANICI ADI VEYA ŞİFRE YANLIŞ!',fg = 'Red')
        self.message.grid(row=6,column=2)

if name == ‘main’:

pen = Tk()
pen.geometry('425x225')
application = giris(pen)

pen.mainloop()

kodun son hali giriş yaptıktan sonra pencere kapanmıyor ayrıca üst yorumda belirttiğim gibi hata alıyorum. Yardımınız için şimdiden teşekkür ederim.

sanırım ünça.py dosyasında widgetleri yerleştirirken hem pack hem de grid kullanmışsınız. İkisini aynı anda kullanamazsınız.