【问题标题】:Tkinter and SQlite projectTkinter 和 SQlite 项目
【发布时间】:2023-02-04 17:23:20
【问题描述】:
`from tkinter import *
from database import *

def Control_():
    var1 = NameE.get()
    var2 = LastnameE.get()
    var3 = UsernameE.get()
    var4 = PasswordE.get()
    search = KullaniciAra(var3)
    if search == None:
        kullanici_ekle(var1,var2,var3,var4)
        Login_Page()
    else:
        ErrorLabel = Label(win,text="This username is taken.")
        ErrorLabel.grid(row=8,column=1)

def Login_Page():
    def on_login():
        var3 = UsernameE2.get()
        var4 = PasswordE2.get()
        search2 = KullaniciAra(var3)
        if search2 == var4:
            print("Done!")
    win.destroy()

    new_win = Tk()
    new_win.title("T Messenger L")
    new_win.geometry("200x200")

    UsernameL2 = Label(new_win,text="Username",fg="black",bg="lightgray")
    UsernameL2.grid(row=0,column=0)
    UsernameE2 = Entry()
    UsernameE2.grid(row=0,column=1)

    PasswordL2 = Label(new_win,text="Password",fg="black",bg="lightgray")
    PasswordL2.grid(row=1,column=0)
    PasswordE2 = Entry()
    PasswordE2.grid(row=1,column=1)

    Button2 = Button(new_win,text="Login",command=on_login)
    Button2.grid(row=2,column=1)

    new_win.mainloop()

Tablo_olustur()

win = Tk()
win.title("T Messenger R")
win.geometry("200x200")

NameL = Label(win,text="Name",fg="black",bg="lightgray")
NameL.grid(row=1,column=0)
NameE = Entry()
NameE.grid(row=1,column=1)

LastnameL = Label(win,text="Lastname",fg="black",bg="lightgray")
LastnameL.grid(row=2,column=0)
LastnameE = Entry()
LastnameE.grid(row=2,column=1)

UsernameL = Label(win,text="Username",fg="black",bg="lightgray")
UsernameL.grid(row=3,column=0)
UsernameE = Entry()
UsernameE.grid(row=3,column=1)

PasswordL = Label(win,text="Password",fg="black",bg="lightgray")
PasswordL.grid(row=4,column=0)
PasswordE = Entry()
PasswordE.grid(row=4,column=1)

theLabel = Label(win,text="Login here",fg="blue",cursor="hand2",font=("TkDefaultFont",12,"underline"))
theLabel.grid(row=5,column=1)
theLabel.bind("<Button-1>", lambda event: Login_Page())

Button1 = Button(win,text="Register",command=Control_)
Button1.grid(row=6,column=1)

win.mainloop()`

我想用 .bind() 制作“登录此处”文本,它按我想要的方式工作,它打开了 Login_Page() 然后即使我在单击“登录”按钮时输入正确的用户名和密码也没有任何反应。我想要的是“当‘登录’按钮被点击时,如果用户名和密码在我的数据库中并且真正打开新页面”并且新页面名称将是 Vote_Page() 因为用户将选择查找用户、更新密码、删除 acc 等

【问题讨论】:

    标签: python


    【解决方案1】:

    编写对话框时,应使用Toplevel 窗口作为其基础,不是Tk。您的程序中应该只有一个 Tk 实例。

    cpython/filedialog.pyFileDialog 的实现是如何在类中实现对话框的一个很好的例子。

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 2017-08-17
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多