PYQT5写注册界面并把数据保存到数据库

首先

首先在这里记录一下自己学习的内容,之前接触过pyqt ,最近又接触了数据库,所以就结合了一下写了一个简单的注册界面以及将数据写入数据库。
在这里使用的是sqlite轻量级数据库

基本思想就是创建好界面,点击注册按钮跳转到注册界面,注册成功后跳转到登陆界面,写的很简单,大家可以看看思路

首先写登录界面,两个按钮和两个文本输入框:

class RegisterUser(QMainWindow):
    def __init__(self):
        super(RegisterUser, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("登陆注册")
        self.resize(400,200)
        self.user_label = QLabel("用户名", self)
        self.user_label.move(50, 50)

        self.user_line = QLineEdit(self)
        self.user_line.move(100, 50)
        self.user_line.resize(150, 30)

        self.password_label = QLabel("密  码", self)
        self.password_label.move(50, 100)

        self.password_line = QLineEdit(self)
        self.password_line.move(100, 100)
        self.password_line.resize(150, 30)
        self.password_line.setEchoMode(QLineEdit.Password)

        self.denglu_button=QPushButton("登陆",self)
        self.denglu_button.move(100,150)
        self.denglu_button.resize(50,30)
        self.denglu_button.clicked.connect(self.denglu)

        self.register_button = QPushButton("注册", self)
        self.register_button.move(50, 150)
        self.register_button.resize(50,30)
        self.register_button.clicked.connect(self.register1)

效果图:
在这里插入图片描述
跳转我这里写了简单的操作,就是判断按钮的文本内容,将登陆界面设置为main ,注册界面设置为main1,:写成槽函数:

    def register1(self):
        a=self.register_button
        if a.text()=="注册":
            main.close()
            main1.show()

点击注册按钮后,跳转到注册界面,注册界面我偷了个懒把登陆界面改了尺寸又搬上去了:

    def initUI(self):
        self.setWindowTitle("注册界面")
        self.resize(300, 200)
        self.user_label = QLabel("用户名", self)
        self.user_label.move(50, 50)

        self.user_line = QLineEdit(self)
        self.user_line.move(100, 50)
        self.user_line.resize(150, 30)

        self.password_label = QLabel("密  码", self)
        self.password_label.move(50, 100)

        self.password_line = QLineEdit(self)
        self.password_line.move(100, 100)
        self.password_line.resize(150, 30)

        self.turn_button = QPushButton("返回", self)
        self.turn_button.move(100, 150)
        self.turn_button.resize(50, 30)
        self.turn_button.clicked.connect(self.turn)

        self.register_button = QPushButton("注册", self)
        self.register_button.move(50, 150)
        self.register_button.resize(50, 30)
        self.register_button.clicked.connect(self.register1)

效果图:
在这里插入图片描述
返回那个按钮可以忽略掉,是我之前写的一个点击之后返回登陆界面
接下来是注册界面注册将数据写入数据库,我首先应用DB Browser(sqlite)这个工具在本地建立一个数据库,这个工具网上可以下载直接用。
在这里插入图片描述
建立数据库:
在这里插入图片描述
这个数据库里面的密码可以进行加密处理,这个还没有学,只是了解过。

将注册的数据写入到数据库

这个我就是写的数据库的sql语句的方法写进数据库
首先连接本地的数据库;

db_file = "./db/users.db"
conn = sqlite3.connect(db_file)
cur = conn.cursor()

然后剩下的写进槽函数:

    def register(self):
        sql = "insert into user('username','password') values(?,?)"
        data = (self.user_line.text(), self.password_line.text())
        print(data)
        if data==('',''):
            QMessageBox.information(self, 'Warning!', '注册信息不能为空'.format(self.user_line.text()),
                                    QMessageBox.Yes)
        else:
            cur.execute(sql, data)
            conn.commit()
            cur.close()
            conn.close()
            QMessageBox.information(self, 'Successfully', '注册成功'.format(self.user_line.text()),
                                    QMessageBox.Yes)
            main1.close()
            main.show()

判断一下是否输入的为空,不为空执行注册操作,成功后弹出信息框
在这里插入图片描述
后面的就是注册成功后main和main1就是跳转到登陆界面;

接下来学习如何从数据库中查找数据和输入的数据做对比然后成功登陆

  • 13
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值