Qt设计:登陆界面(QSetting)

###实现效果,勾选记住密码获取lineEdit的值并保存

这里写图片描述

这里写图片描述

这里写图片描述

##源程序
##mymainwindow.cpp

#include "mymainwindow.h"
#include "ui_mymainwindow.h"
#include <QString>
#include <QMessageBox>
#include <QSettings>
myMainWindow::myMainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::myMainWindow)
{
    ui->setupUi(this);

    QSettings setting("C:/Window/config.ini",QSettings::IniFormat);//读配置文件

    str_3=setting.value("Login/account").toString();

    ui->lineEdit->setText(str_3);

    str_4=setting.value("Login/password").toString();

    ui->lineEdit_2->setText(str_4);

    ui->checkBox->setChecked(true);
}

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

void myMainWindow::on_lineEdit_2_textChanged(const QString &arg1)
{
    ui->lineEdit_2->setEchoMode(QLineEdit::Password);
}

void myMainWindow::on_pushButton_clicked()
{
    str_1 = ui->lineEdit->text();
    str_2 = ui->lineEdit_2->text();

    QSettings setting("C:/Window/config.ini",QSettings::IniFormat);//读配置文件

    if(str_1 == "" || str_2 == "")
    {
        QMessageBox::information(this, "错误!", "用户名或者密码不能为空!", QMessageBox::Ok);
               return;
    }

    else if(str_1==str_3&&str_2==str_4)
    {
        close();
    }

    else if(str_1==str_3&&str_2!=str_4)
    {
        QMessageBox::information(this, "错误!", "您输入的密码有误!", QMessageBox::Ok);

        return;
    }


    void on_checkBox_clicked();

}

void myMainWindow::on_pushButton_2_clicked()
{
    close();
}
void myMainWindow::on_checkBox_clicked()
{

}

void myMainWindow::on_checkBox_stateChanged(int arg1)
{
    if(arg1=ui->checkBox->isChecked())
       {
           remeberPasswd=true;

           str_1 = ui->lineEdit->text();

           str_2 = ui->lineEdit_2->text();


            QSettings setting("C:/Window/config.ini",QSettings::IniFormat);//读配置文件

            setting.beginGroup(tr("Login"));

                setting.setValue("account",str_1);//设置key和value,也就是参数和值

                setting.setValue("password",str_2);

                setting.setValue("remeber",true);

            setting.endGroup();//节点结束
       }
    else
       {
           ui->lineEdit_2->clear();

            remeberPasswd=false;
       }
}

##//main.cpp

#include "mymainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    myMainWindow w;
    w.show();

    return a.exec();
}

##//mymainwindow.h

#ifndef MYMAINWINDOW_H
#define MYMAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class myMainWindow;
}

class myMainWindow : public QMainWindow
{
    Q_OBJECT

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

    QString str_1,str_2,str_3,str_4;

    QString RemeberPasswd;
    bool remeberPasswd,r;
private slots:
    void on_lineEdit_2_textChanged(const QString &arg1);

    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_checkBox_clicked();

    void on_checkBox_stateChanged(int arg1);

private:
    Ui::myMainWindow *ui;


};

#endif // MYMAINWINDOW_H

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wenlong Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值