username = username_entry.get() password = password_entry.get()文本框已经输入了123但是获取不到数值有可能是什么问题
时间: 2023-06-15 15:05:22 浏览: 92
可能是代码中获取文本框数值的方式有问题。你可以检查一下代码中获取文本框值的语句是否正确。另外,你也可以添加一些调试语句,输出获取到的文本框值,以便进一步排查问题。例如:
```
username = username_entry.get()
password = password_entry.get()
print("username:", username)
print("password:", password)
```
这样可以输出获取到的值,以便确定是否是获取值的问题。
相关问题
帮我解析以下每句代码import tkinter as tk from tkinter import messagebox from db import db from MinaPage import MianPage class LoginPage(object): def __init__(self, master): self.root = master self.root.geometry('300x180') self.root.title('登录页面') self.username = tk.StringVar() self.password = tk.StringVar() self.page = tk.Frame(root) self.page.pack() tk.Label(self.page).grid(row=0, column=0) tk.Label(self.page, text='账号:').grid(row=1, column=1, pady=10) tk.Entry(self.page, textvariable=self.username).grid(row=1, column=2) tk.Label(self.page, text='密码:').grid(row=2, column=1, pady=10) tk.Entry(self.page, textvariable=self.password).grid(row=2, column=2) tk.Button(self.page, text='登录', command=self.login).grid(row=3, column=1, pady=10) tk.Button(self.page, text='退出', command=self.page.quit).grid(row=3, column=2, pady=10) def login(self): name = self.username.get() pwd = self.password.get() flag, message = db.check_login(name, pwd) if flag: # 销毁当前页面 self.page.destroy() MianPage(self.root) else: messagebox.showwarning(title='警告', message=message) if __name__ == '__main__': root = tk.Tk() LoginPage(master=root) root.mainloop()
这段代码是一个基于 tkinter 的简单登录页面的实现。具体来说,代码的主要功能包括:
1. 导入 tkinter、messagebox、db 和 MinaPage 模块。
2. 创建 LoginPage 类,该类包含一个构造函数和一个 login 方法。
3. 构造函数中:
- 初始化 tkinter 窗口相关设置,如窗口大小、标题等。
- 创建两个 StringVar 对象 username 和 password,用于保存用户输入的账号和密码。
- 创建一个 Frame 对象 page,用于承载登录页面的各个控件。
- 在 page 中添加标签、文本框和按钮等控件,用于实现登录页面的各个元素。
4. login 方法中:
- 获取用户输入的账号和密码。
- 调用 db 模块的 check_login 函数,判断输入的账号和密码是否正确。
- 如果正确,则销毁当前窗口,创建一个新的 MianPage 窗口,并显示该窗口。
- 如果不正确,则弹出警告框,提示用户输入的账号或密码有误。
5. 在主函数中,创建一个 Tk 对象 root,实例化 LoginPage 类,并启动主循环。
总体来说,这段代码实现了一个简单的登录页面,用户可以在该页面中输入账号和密码,然后点击登录按钮进行验证。如果验证通过,则销毁当前页面,跳转到其他页面;否则弹出警告框提示用户输入的账号或密码有误。
class LoginWindow: def init(self, master): self.master = master self.master.title("BL 製造表單點檢系統") self.master.geometry("300x250+400+250") self.master.resizable(0, 0) self.username = tk.StringVar() self.password = tk.StringVar() ttk.Label(self.master, text="賬號", width=10).grid(row=2, column=0, padx=5, pady=5) ttk.Entry(self.master, textvariable=self.username, width=20).grid(row=2, column=1, columnspan=2, padx=5, pady=5) ttk.Label(self.master, text="密碼", width=10).grid(row=3, column=0, padx=5, pady=5) ttk.Entry(self.master, textvariable=self.password, show="*", width=20).grid(row=3, column=1, columnspan=2, padx=5, pady=5) style = ttk.Style() style.configure("TButton", background="#4CAF50", foreground="white", font=("Helvetica", 12), width=10) ttk.Button(self.master, text="確認", command=self.login, style="TButton").grid(row=4, column=0, columnspan=2, padx=5, pady=5) # 设置列的宽度 self.master.grid_columnconfigure(0, weight=1) self.master.grid_columnconfigure(1, weight=1) self.master.grid_columnconfigure(2, weight=1) def login(self): if self.username.get() == "smt" and self.password.get() == "bl": self.master.destroy() root = tk.Tk() app = ExcelApp(root) root.mainloop() else: messagebox.showwarning("Invalid Credentials", "密碼或賬號錯誤.")讓這個代碼的文本框與標簽修改得近一些
class LoginWindow:
def __init__(self, master):
self.master = master
self.master.title("BL 製造表單點檢系統")
self.master.geometry("300x250+400+250")
self.master.resizable(0, 0)
self.username = tk.StringVar()
self.password = tk.StringVar()
ttk.Label(self.master, text="賬號", width=10).grid(row=0, column=0, padx=5, pady=5)
ttk.Entry(self.master, textvariable=self.username, width=20).grid(row=0, column=1, columnspan=2, padx=5, pady=5)
ttk.Label(self.master, text="密碼", width=10).grid(row=1, column=0, padx=5, pady=5)
ttk.Entry(self.master, textvariable=self.password, show="*", width=20).grid(row=1, column=1, columnspan=2, padx=5, pady=5)
style = ttk.Style()
style.configure("TButton", background="#4CAF50", foreground="white", font=("Helvetica", 12), width=10)
ttk.Button(self.master, text="確認", command=self.login, style="TButton").grid(row=2, column=1, columnspan=2, padx=5, pady=5)
# 设置列的宽度
self.master.grid_columnconfigure(0, weight=1)
self.master.grid_columnconfigure(1, weight=1)
self.master.grid_columnconfigure(2, weight=1)
def login(self):
if self.username.get() == "smt" and self.password.get() == "bl":
self.master.destroy()
root = tk.Tk()
app = ExcelApp(root)
root.mainloop()
else:
messagebox.showwarning("Invalid Credentials", "密碼或賬號錯誤.")
阅读全文