繁体   English   中英

如何从一个文件到另一个文件中获取 Tkinter 输入?

[英]How can I get an Tkinter input from one file to another?

我正在为我的学校项目开发一个基本的酒店管理系统。 我已提交 function 以获得登录经理的按钮。 我需要从这个 python 文件log_in.py到另一个 python 文件dashboard.py获取这个局部变量用户名 我该怎么做?

def submit():
    username = str(username_entry.get()).strip()
    password = str(password_entry.get()).strip()
    username_exists = username in data.username.values

    employee_id = pd.read_sql_query(f"SELECT employee_id FROM managers WHERE username = '{username}';", db)
    employee_id = employee_id.employee_id.values[0]
        
    if username_exists: 
        correct_password = pd.read_sql_query(f"SELECT password FROM managers WHERE username = '{username}';", db)
        correct_password = correct_password.password.values[0]
        password_matches = (password == correct_password)
    
    if not username_exists: messagebox.showerror('Invalid Username', 'The entered username does not exist.')
    elif not password_matches: messagebox.showerror('Invlaid Password', 'The entered password is wrong.')
    else: 
        messagebox.showinfo('Log In Successful', 'You are now logged in.')
        root.destroy()
        os.system('python dashboard.py')

据我所知,您首先必须通过在声明用户名变量之前放置global username来使用户名变量成为全局变量:

def submit():
    global username
    username = str(username_entry.get()).strip()
    password = str(password_entry.get()).strip()

之后,您可以通过编写以下内容将用户名变量从log_in.py文件导入到dashboard.py文件中:

from log_in import username

dashboard.py的顶部。

注意:确保两个文件(log_in.py 和dashboard.py)都在同一个文件夹中。

现在,您应该可以访问用户名变量;)

*log_in.py

def submit():
    global username
    username = str(username_entry.get()).strip()
    password = str(password_entry.get()).strip()

    #The rest of your code

*dashboard.py 的顶部

from log_in import username

#The rest of your code

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM