当前位置: 首页 > news >正文

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));
        }
}

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

相关文章:

  • 基于YALMIP和cplex工具箱的IEEE33微电网故障处理电网重构matlab模拟与仿真
  • 国产NAS系统飞牛云fnOS深度体验:从运维面板到博客生态全打通
  • 【新人系列】Golang 入门(二):基本数据类型
  • graido学习记录
  • 【图论】判断图中有环的两种方法及实现
  • vi的常见操作命令
  • [数据结构] - - - 链表
  • 面试题02.01.移除重复节点
  • 【计算机网络03】网络层协议IP(详细)
  • 苹果的 AI 紧急情况
  • KMP算法!
  • Linux 基础---sudo权限 修改文件所属人、用户所属组
  • 【论文阅读笔记】用于恶劣天气条件下的目标检测的IA-YOLO(Image-Adaptive YOLO) | 适合雾天和低光照场景
  • 爱吃蟠桃的孙悟空
  • Deepseek API+Python测试用例一键生成与导出
  • JavaWeb(Day8)-登录校验(JWT令牌,Filter过滤器,Interceptor拦截器)
  • MySQL零基础教程14—子查询
  • Mybatis 的代理开发方式
  • golang接口
  • JS逆向获取算法 使用算法逻辑进行爆破
  • 总导演揭秘十五运会闭幕式:赴一场星辰大海之约
  • 深圳市政协原副主席王幼鹏被“双开”
  • 名帅大挪移提前开启,意属皇马的阿隆索会是齐达内第二吗
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升
  • 秦洪看盘|交易型资金收缩,释放短线压力
  • 赵作海因病离世,妻子李素兰希望过平静生活