如何让PYQT5文本框被sqlite作为输入?

How to get PYQT5 text box to be taken as an input by sqlite?

我一直在尝试创建一个程序来注册和登录用户,注册部分应该将详细信息存储到数据库中,但是我在从 QT 文本框获取输入时遇到了一些麻烦,并且将其插入我的数据库。它不接受来自文本框的任何输入,所以我尝试使用 qtsql 来帮助我输入数据,但我无法让它工作。

#Register

    def InsertData(self):
        db=QSqlDatabase.addDatabase("QSQLITE")
        db.setDatabaseName("/home/user/test.db")
        if db.open():
            query=QSqlQuery
            query.exec_("INSERT INTO users(email_address,password) VALUES(?,?)",self.password.text,self.email.text)
            db.commit()
            db.close()

您无法在 SQL 语句中获取值,因为您没有为密码和电子邮件调用对象

尝试:

val_password = self.password.text()
val_email = self.email.text()
query.exec_("INSERT INTO users(email_address,password) VALUES(?,?)",val_password, val_email)

我不习惯 qtsql,但在 sqlite 中你还必须为你的 sql 连接分配一个游标,你可能还想检查一下。