使用QT創建自己的登錄窗口:
主要步驟:
1.窗口界面的繪制
2.溝通數據庫進行密碼驗證
void MainWindow::on_pushButton_clicked() { // 連接數據庫 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("D:/TEST/passwd"); if(!db.open()){ QMessageBox::information(this, "連接結果", "連接數據庫失敗!"); return; } QString name = ui->lineEdit->text(); QString passwd = ui->lineEdit_2->text(); QSqlTableModel model; model.setTable("passwd"); model.setFilter(tr("name = '%1' and passwd = '%2'").arg(name).arg(passwd)); model.select(); if(model.rowCount() == 1){ // 表示密碼驗證正確,登陸成功 // ...... 顯示登錄后的狀態 QMessageBox::information(this, "Login", "登錄成功!"); } else{ QMessageBox::information(this, "Warning", "用戶名或密碼錯誤,請重新輸入!"); ui->lineEdit->clear(); ui->lineEdit_2->clear(); } } void MainWindow::on_pushButton_2_clicked() { close(); }
其他細節:
設置主窗口標題:
// 設置窗口名稱 this->setWindowTitle("用戶登錄");
設置中文字符:
// 設置中文字符 QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
運行結果:
此處示例主要是為了說明Qt中對數據庫的操作,而實際上的登錄程序並非如此簡單