ps做图下载网站中国国家人才培训网官网
在注册登录的练习里面,追加一个QListWidget 项目列表 要求:点击注册之后,将账号显示到 listWidget上面去 以及,在listWidget中双击某个账号的时候,将该账号删除
widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QFile>
#include <QWidget>
#include <QListWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void save_data(const QString& filename,const QString& data);QString load_data(const QString& filename);private slots:void on_lineEdit_textChanged(const QString &arg1);void on_lineEdit_2_textChanged(const QString &arg1);void on_pushButton_3_pressed();void on_pushButton_3_released();void on_pushButton_clicked();void on_listWidget_itemDoubleClicked(QListWidgetItem *item);private:Ui::Widget *ui;QFile file;
};
#endif // WIDGET_H
mian.cpp
#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QString name=load_data("E:/name.txt");ui->lineEdit->setText(name);QString pswd=load_data("E:/pswd.txt");ui->lineEdit_2->setText(pswd);
}Widget::~Widget()
{QString name=ui->lineEdit->text();save_data("E:/name.txt",name);QString pswd=ui->lineEdit_2->text();save_data("E:/pswd.txt",pswd);delete ui;
}void Widget::save_data(const QString &filename, const QString &data)
{file.setFileName(filename);file.open(QFile::WriteOnly);file.write(data.toLocal8Bit());file.close();
}QString Widget::load_data(const QString &filename)
{file.setFileName(filename);file.open(QFile::ReadOnly);QByteArray arr=file.readAll();QString str=QString::fromLocal8Bit(arr);file.close();return str;
}void Widget::on_lineEdit_textChanged(const QString &arg1)
{QString name=ui->lineEdit->text();QString pswd=ui->lineEdit_2->text();if(name.isEmpty() || pswd.isEmpty()){ui->pushButton->setEnabled(0);ui->pushButton_2->setEnabled(0);}else{ui->pushButton->setEnabled(1);ui->pushButton_2->setEnabled(1);}
}void Widget::on_lineEdit_2_textChanged(const QString &arg1)
{QString name=ui->lineEdit->text();QString pswd=ui->lineEdit_2->text();if(name.isEmpty() || pswd.isEmpty()){ui->pushButton->setEnabled(0);ui->pushButton_2->setEnabled(0);}else{ui->pushButton->setEnabled(1);ui->pushButton_2->setEnabled(1);}
}void Widget::on_pushButton_3_pressed()
{ui->lineEdit_2->setEchoMode(QLineEdit::Normal);
}void Widget::on_pushButton_3_released()
{ui->lineEdit_2->setEchoMode(QLineEdit::Password);
}void Widget::on_pushButton_clicked()
{QString text = ui->lineEdit->text();if (!text.isEmpty()) {QListWidgetItem* item = new QListWidgetItem(text);ui->listWidget->addItem(item);}
}void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{if (item) {delete ui->listWidget->takeItem(ui->listWidget->row(item));}
}
(关于勾选是否记住密码的操作并未执行)