连接窗口登录和窗口菜单

2024-04-25 23:53:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将窗口登录与窗口菜单连接。我需要在单击按钮“connecter”后显示窗口菜单并隐藏窗口登录。我在窗口菜单中有更多的代码行,但我只想知道原理。 我试图在if row:中添加 root.deiconify() log.withdraw。但是显示了一个错误

文件“c:\Users\user\Desktop\traitement images\PFE\u codage\Menu.py”,第26行,登录 root.deiconify()#messagebox.showinfo(“登录成功”) NameError:未定义名称“根”

这是我的密码:

窗口登录

from tkinter import Tk, Label, Entry, Button, Frame,messagebox,StringVar
import tkinter as tk 
import sqlite3
from tkinter import *

def login():
    db=sqlite3.connect('login.sqlite')
    db.execute('CREATE TABLE IF NOT EXISTS user(username TEXT, password TEXT)')
    db.execute("INSERT INTO user(username, password) VALUES('salma', 'salma2001')")
    db.execute("INSERT INTO user(username, password) VALUES('zineb', 'zineb1994')")
    cursor=db.cursor()
    cursor.execute("SELECT * FROM user where username=? AND password=?",(user_input.get(), pass_input.get()))
    row=cursor.fetchone()
    if row:
        root.deiconify() #messagebox.showinfo("login success")
        #log.withdraw()
    else:
        messagebox.showinfo("échec de connexion", "nom d'utilisateur ou mot de passe incorrect")
    cursor.connection.commit()
    db.close()

log = Tk()
log.geometry('350x500')
log.title('CONNEXION')
log.resizable(0,0)

j = 0
r = 0 
for i in range(100):
    c = str(846160+r)
    #846160 432434
    Frame(log,width = 10, height = 500,bg ='#'+c).place(x=j,y=0)
    j=j+10
    r = r+1

user_input= StringVar()
pass_input= StringVar()    

Frame(log, width=250, height= 400, bg ='white').place(x=50,y=50)    
#label 1
l1 = Label(log, text="Nom d'utilisateur", bg='white')
l = ('consolas',13)
l1.config(font=l)
l1.place(x = 80, y = 200)

userinput= Entry(log, width= 20, border=0, textvariable=user_input)
userinput.config(font=1)
userinput.place(x=80, y=230)


#label 2
l2=Label(log,text="Mot de passe", bg='white')
l=('consolas',13)
l2.config(font=l)
l2.place(x = 80, y = 280)

passinput = Entry(log, width= 20, border=0 , textvariable=pass_input, show='*')
passinput.config(font=1)
passinput.place(x=80, y=310)


Frame(log, width = 180,height =2, bg ="#846160" ).place(x=80,y=250)
Frame(log, width = 180,height =2, bg ="#846160" ).place(x=80,y=330)

#label 3
l3=Label(log,text="Bienvenue", bg='white')
l=('consolas',18)
l3.config(font=l)
l3.place(x = 115, y = 110)

login_btn= Button(log, width=20, height=2,fg='white', bg='#432434',border=0, command=login,text='connecter').place(x=100,y=375)

log.mainloop()

窗口菜单

color = {"nero":  '#846160': "#FF8700" :"gray17"}

# setting root window:
root = Tk()
root.title("Page d'accueil")
root.config(bg="gray17")
#root.geometry("400x600+850+50")
root.geometry("800x600+850+50")

# window in mainloop:
root.mainloop()


Tags: logconfiginputdbloginplacerootwidth