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

QT study DAY2

作业

代码

Widget.h

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void save_data(const QString& filename,const QString& data);
private slots:
    void on_lineEdit_textChanged();                //账户栏
    void on_lineEdit_2_textChanged();              //密码栏
    void on_radioButton_clicked(bool checked);     //显示密码
    
    //新增代码
    void on_logButton_clicked();        //登录按钮
    void on_listWidget_itemDoubleClicked(QListWidgetItem *item);    //listWidget双击

private:
    Ui::Widget *ui;
    QFile file;
};
#endif // WIDGET_H

Widget.cpp

//新增代码

//登录按键 点击事件
void Widget::on_logButton_clicked()     
{

    QString name = ui->lineEdit->text();
    QList<QListWidgetItem *> res = ui->listWidget->findItems(name,Qt::MatchExactly);

    if(res.isEmpty())
    {
        ui->listWidget->addItem(name);
    }
}
//listWidget 双击事件
void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item) 
{
    int row = ui->listWidget->row(item);
    ui->listWidget->takeItem(row);
}

效果

双击之前

双击之后

作业

代码

Widget.h

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    // 数字按键部分
    void on_pushButton_0_clicked();
    void on_pushButton_1_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_3_clicked();
    void on_pushButton_4_clicked();
    void on_pushButton_5_clicked();
    void on_pushButton_6_clicked();
    void on_pushButton_7_clicked();
    void on_pushButton_8_clicked();
    void on_pushButton_9_clicked();
    // 加减乘除
    void on_pushButton_add_clicked();
    void on_pushButton_sub_clicked();
    void on_pushButton_mul_clicked();
    void on_pushButton_div_clicked();
    // 其他按键
    void on_pushButton_clear_clicked();
    void on_pushButton_res_clicked();
private:
    Ui::Widget *ui;
    QString str;    // 第一个数
    QString ch;     // 加减乘除
    QString str2;   // 第二个数
    QString res;    // 结果

    int line = 1;   // 标志位
};
#endif

Widget.cpp

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}
/*************** 数字键盘区 ***************/
void Widget::on_pushButton_0_clicked()
{
    if(line == 1)
    {
        str+='0';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='0';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_1_clicked()
{
    if(line == 1)
    {
        str+='1';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='1';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_2_clicked()
{
    if(line == 1)
    {
        str+='2';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='2';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_3_clicked()
{
    if(line == 1)
    {
        str+='3';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='3';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_4_clicked()
{
    if(line == 1)
    {
        str+='4';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='4';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_5_clicked()
{
    if(line == 1)
    {
        str+='5';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='5';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_6_clicked()
{
    if(line == 1)
    {
        str+='6';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='6';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_7_clicked()
{
    if(line == 1)
    {
        str+='7';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='7';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_8_clicked()
{
    if(line == 1)
    {
        str+='8';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='8';
        ui->mainLineEdit_2->setText(str2);
    }
}

void Widget::on_pushButton_9_clicked()
{
    if(line == 1)
    {
        str+='9';
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2+='9';
        ui->mainLineEdit_2->setText(str2);
    }
}
/*************** 加减乘除区 ***************/
void Widget::on_pushButton_add_clicked()
{
    ch = '+';
    line = 0;
    ui->label->setText("+");
}

void Widget::on_pushButton_sub_clicked()
{
    ch = '-';
    line = 0;
    ui->label->setText("-");
}

void Widget::on_pushButton_mul_clicked()
{
    ch = '*';
    line = 0;
    ui->label->setText("*");
}

void Widget::on_pushButton_div_clicked()
{
    ch = '/';
    line = 0;
    ui->label->setText("/");
}

/*************** 数字键盘区 ***************/
void Widget::on_pushButton_clear_clicked()
{
    if(line == 1)
    {
        str.clear();
        ui->mainLineEdit->setText(str);
    }
    else if(line == 0)
    {
        str2.clear();
        ui->mainLineEdit_2->setText(str2);
    }
    else if(line == 3)
    {
        str.clear();
        str2.clear();
        ui->mainLineEdit->setText("");
        ui->mainLineEdit_2->setText("");
        ui->resEdit->setText("");
        line = 1;
    }
}
/*************** 数字键盘区 ***************/
void Widget::on_pushButton_res_clicked()
{
    //QString 转 int
    int index1 = str.toInt();
    int index2 = str2.toInt();

    //加减乘除
    if(ch == '+')
    {
        int int_res = index1 + index2;
        QString string_res = QString::number(int_res);
        ui->resEdit->setText(string_res);
    }
    else if(ch == '-')
    {
        int int_res = index1 - index2;
        QString string_res = QString::number(int_res);
        ui->resEdit->setText(string_res);
    }
    else if(ch == '*')
    {
        int int_res = index1 * index2;
        QString string_res = QString::number(int_res);
        ui->resEdit->setText(string_res);
    }
    else if(ch == '/')
    {
        int int_res = index1 / index2;
        QString string_res = QString::number(int_res);
        ui->resEdit->setText(string_res);
    }

    //说明计算完毕,再次点击C会清除所有
    line = 3;
}

效果

加减乘除

C键效果

相关文章:

  • 【Qt QML】定时器(Timer)
  • DeepSeek搭配Excel,制作自定义按钮,实现办公自动化!
  • 下载b站视频音频
  • Linux 的at定时任务
  • 【Python 数据结构 2.时间复杂度和空间复杂度】
  • doOnNext() vs flatMap():区别与适用场景
  • 如何使用go本地编译caddy插件
  • JQuery学习笔记,点击按钮加载更多的图片
  • C++入门基础知识1
  • 零基础学习Python之循环详解:从入门到实践_我的学习Python记录11
  • 网络安全架构三明治
  • Spring面试题总结
  • 剪映5.9版本——免费字幕识别功能的全能解决方案
  • 2025 聚合易支付完整版PHP网站源码
  • 【算法】acwing算法基础875. 快速幂
  • ArcGIS Pro应用指南:如何为栅格图精确添加坐标信息
  • Rocky Linux 系统安装 typecho 个人博客系统(Docker 方式)
  • 基于SpringBoot的校园二手交易平台(源码+论文+部署教程)
  • TCP的四次挥⼿为什么是四次?为什么不能是三 次
  • Tailwind CSS 问题:npm error could not determine executable to run
  • 国示范校建设网站/厦门百度广告
  • 手机怎么做自己的网站/如何推销自己的产品
  • wordpress 代做网站/app推广营销
  • 个人政务公开网站建设工作总结/百度搜不干净的东西
  • 网站服务器返回状态码404/软文范例100字以内
  • 英文做影评的网站/南宁百度推广seo