主页 > 开源代码  > 

EX_25/3/3

EX_25/3/3

在注册登录的练习里面,追加一个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_NAMESPACE class Widget : public QWidget { Q_OBJECT public: 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)); } }

(关于勾选是否记住密码的操作并未执行)

标签:

EX_25/3/3由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“EX_25/3/3