91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT如何實現用戶登錄注冊功能

發布時間:2022-06-15 09:25:47 來源:億速云 閱讀:925 作者:iii 欄目:開發技術

這篇文章主要介紹“QT如何實現用戶登錄注冊功能”,在日常操作中,相信很多人在QT如何實現用戶登錄注冊功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”QT如何實現用戶登錄注冊功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、login.h

#ifndef LOGIN_H
#define LOGIN_H

#include <QWidget>

namespace Ui {
class Login;
}

class Login : public QWidget
{
    Q_OBJECT

public:
    explicit Login(QWidget *parent = 0);
    ~Login();

private slots:
    void on_btn_login_clicked();
    void on_btn_register_clicked();

private:
    Ui::Login *ui;
};

#endif // WIDGET_H

2、login.cpp

#include "login.h"
#include "ui_login.h"
#include "register.h"
#include "mainwindow.h"
#include <QMessageBox>
#include <QSqlQuery>
#include <QFile>
#include <QDebug>

Login::Login(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Login)
{
    ui->setupUi(this);
    ui->ledit_password->setEchoMode(QLineEdit::Password);
}

Login::~Login()
{
    delete ui;
}

void Login::on_btn_login_clicked()
{
    QString username = ui->ledit_username->text();
    QString password = ui->ledit_password->text();

    if(username == "" ||password == ""){
        QMessageBox::information(this,"警告","輸入不能為空",QMessageBox::Ok);
    }else{

        QSqlQuery query;
        query.prepare("select username,password from admin where username=:username and password = :password ");

        query.bindValue(":username", username);
        query.bindValue(":password", password);
        query.exec();
        if(!query.next())
        {
            //結果集為空
            //執行某操作
            QMessageBox::information(this,"警告","用戶名或密碼錯誤!",QMessageBox::Ok);
        }
        else
        {
            QMessageBox::information(this,"提醒","登錄成功!",QMessageBox::Ok);
            MainWindow *m = new MainWindow;
            m->show();
            this->close();
        }
    }


}

void Login::on_btn_register_clicked()
{
    Register *r = new Register;
    r->show();
}

3、register.h

#ifndef REGISTER_H
#define REGISTER_H

#include <QWidget>

namespace Ui {
class Register;
}

class Register : public QWidget
{
    Q_OBJECT

public:
    explicit Register(QWidget *parent = 0);
    ~Register();

private slots:
    void on_btn_logon_clicked();

private:
    Ui::Register *ui;
};

#endif // REGISTER_H

4、register.cpp

#include "register.h"
#include "ui_register.h"
#include <QButtonGroup>
#include <QMessageBox>
#include <QRegExp>
#include <QSqlQuery>

Register::Register(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Register)
{
    ui->setupUi(this);

}

Register::~Register()
{
    delete ui;
}

void Register::on_btn_logon_clicked()
{
    QString username = ui->ledit_username->text();
    QString password = ui->ledit_pwd->text();
    QString name = ui->ledit_name->text();
    int age = ui->ledit_age->text().toInt();

    QButtonGroup *bg=new QButtonGroup(this);
    bg->addButton(ui->rbtn_male,0);//一個值為0
    bg->addButton(ui->rbtn_female,1);//一個值為1

    int sel=bg->checkedId();//取到你所選的radioButton的值

    QString gender;

    switch(sel)
    {
    case 0:
      gender="男";
      break;
    case 1:
      gender="女";
      break;
    default:
      gender="";
    break;

    }

    QSqlQuery query;
    query.prepare("select username from patient where username=:username");
    query.bindValue(":username", username);
    query.exec();
    if(query.next())
    {

        QMessageBox::information(this,"警告","用戶名已存在!",QMessageBox::Ok);

    }
    else
    {
        query.prepare("insert into patient(username,password,patientName,age,gender)"
                      "values(:username,:password,:patientName,:age,:gender)");
        query.bindValue(":username", username);
        query.bindValue(":password",password);
        query.bindValue(":patientName", name);
        query.bindValue(":age", age);
        query.bindValue(":gender", gender);

        query.exec();
        QMessageBox::information(this,"警告","注冊成功!",QMessageBox::Ok);

    }
}

5、數據庫連接代碼

#ifndef CONNECTION
#define CONNECTION

#include <QSqlDatabase>
#include <QStringList>
#include <QString>
#include <QDebug>
#include <QSqlQuery>
#include <QMessageBox>

static bool createConnection()
{
    //測試用例:連接mysql數據庫,做一個基本的sql語句操作

    //1、對qt下數據庫的驅動進行遍歷查看
    QStringList drivers = QSqlDatabase::drivers();
    foreach (QString driver, drivers) {
        qDebug()<<drivers;

    }

    //2、打開數據庫過程
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    //數據庫連接的信息進行配置
    db.setHostName("localhost");//設置主機名(數據庫所在電腦的名稱)
    db.setDatabaseName("medical_system");//設置數據庫名稱
    db.setUserName("root");
    db.setPassword("123456");
    //db.setPort(3306);//因為是本機,該段代碼可省略

    if(!db.open()){
        //打開失敗的情況
        qDebug()<<"Failed to connect";

        //實際情況下我們應該使用圖形化窗口提示打開失敗
        QMessageBox::critical(0,"無法打開數據庫","無法創建",QMessageBox::Yes);
        return false;
    }

    return true;


}

#endif // CONNECTION

運行結果

QT如何實現用戶登錄注冊功能

QT如何實現用戶登錄注冊功能

到此,關于“QT如何實現用戶登錄注冊功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt
AI

方正县| 搜索| 泰顺县| 焦作市| 竹山县| 侯马市| 台中市| 上栗县| 镇远县| 阿拉善右旗| 禄劝| 于都县| 德昌县| 阿图什市| 鱼台县| 平谷区| 乌兰浩特市| 东丰县| 宁津县| 无为县| 永清县| 阿拉善盟| 秦皇岛市| 同仁县| 定日县| 扶沟县| 睢宁县| 长武县| 台山市| 保亭| 龙山县| 天长市| 华阴市| 扶余县| 中阳县| 兴文县| 突泉县| 泸州市| 凤山市| 靖江市| 吉水县|