QT day2

1.在注册登录的练习里面,追加一个QListWidget 项目列表

要求:点击注册之后,将账号显示到 listWidget上面去

以及,在listWidget中双击某个账号的时候,将该账号删除

cpp 复制代码
void Widget::on_pushButton_clicked()
{
    QString name = ui->lineEdit->text();
    if (ui->listWidget->findItems(name, Qt::MatchExactly).isEmpty())
    {
        ui->listWidget->addItem(name);
    }
}

void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
    if (item)
    {
        ui->listWidget->takeItem(ui->listWidget->row(item));
        delete item;
    }
}

运行结果:

双击删除

2.完成一个计算器,ui界面如下

完成 +-*/计算功能并且在对应位置显示对应的数据

widget.cpp

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

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

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


void Widget::on_pushButton_0_clicked()
{
//    if (this->ui->lineEdit->text().isEmpty()){return;}
//    if (this->ui->lineEdit_2->text().isEmpty()){return;}

    if (this->ui->lineEdit_1->text().isEmpty())
    {
        num1 += "0";
        this->ui->lineEdit->setText(num1);
    }
    else
    {
        num2 += "0";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_1_clicked()
{
    if (this->ui->lineEdit_1->text().isEmpty())
    {
        num1 += "1";
        this->ui->lineEdit->setText(num1);
    }
    else
    {
        num2 += "1";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_2_clicked()
{
    if (this->ui->lineEdit_1->text().isEmpty())
    {
        num1 += "2";
        this->ui->lineEdit->setText(num1);
    }
    else
    {
        num2 += "2";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_3_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "3";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "3";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_4_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "4";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "4";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_5_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "5";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "5";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_6_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "6";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "6";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_7_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "7";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "7";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_8_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "8";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "8";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_9_clicked()
{


    if (this->ui->lineEdit_1->text().isEmpty())
    {num1 += "9";
        this->ui->lineEdit->setText(num1);
    }
    else
    {num2 += "9";
        this->ui->lineEdit_2->setText(num2);
    }
}

void Widget::on_pushButton_10_clicked()
{
    ope = "+";
    this->ui->lineEdit_1->setText(ope);
}

void Widget::on_pushButton_11_clicked()
{
    ope = "-";
    this->ui->lineEdit_1->setText(ope);
}

void Widget::on_pushButton_12_clicked()
{
    ope = "×";
    this->ui->lineEdit_1->setText(ope);
}

void Widget::on_pushButton_13_clicked()
{
    ope = "➗";
    this->ui->lineEdit_1->setText(ope);
}



void Widget::on_pushButton_15_clicked()
{
    num1.clear();
    num2.clear();
    ui->lineEdit->setText("");
    ui->lineEdit_1->setText("");
    ui->lineEdit_2->setText("");
    ui->lineEdit_3->setText("");
}

void Widget::on_pushButton_14_clicked()
{
    bool b1, b2;
    double n1 = ui->lineEdit->text().toDouble(&b1);
    double n2 = ui->lineEdit_2->text().toDouble(&b2);
    if (ope == "+")
    {
        res = n1 + n2;
    }
    else if (ope == "-")
    {
        res = n1 - n2;
    }
    else if (ope == "×")
    {
        res = n1 * n2;
    }
    else if (ope == "➗")
    {
        if (n2 != 0)
        {
            res = n1 / n2;
        }
        else
        {
            ui->lineEdit_3->setText("除数不能为零");
            return;
        }
    }

    ui->lineEdit_3->setText(QString::number(res));
}

widget.h

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

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_10_clicked();

    void on_pushButton_11_clicked();

    void on_pushButton_12_clicked();

    void on_pushButton_13_clicked();

    void on_pushButton_15_clicked();

    void on_pushButton_14_clicked();

private:
    Ui::Widget *ui;
    QString num1;
    QString num2;
    QString ope;
    double res;

};
#endif // WIDGET_H

运行结果:

相关推荐
2302_799525749 分钟前
【go语言】——方法集
开发语言·后端·golang
非 白21 分钟前
【Java 后端】Restful API 接口
java·开发语言·restful
rider18922 分钟前
Java多线程及线程变量学习:从熟悉到实战(下)
java·开发语言·学习
元亓亓亓22 分钟前
java后端开发day26--常用API(一)
java·开发语言
JP-Destiny24 分钟前
后端-Java虚拟机
java·开发语言·jvm
葡萄_成熟时_30 分钟前
JavaWeb后端基础(4)
java·开发语言·数据库·maven·web
Hello.Reader43 分钟前
深入解析 Rust 异步编程中的 Traits
开发语言·后端·rust
馨谙1 小时前
Exception in thread “main“ java.lang.ExceptionInInitializerError
java·开发语言
绛洞花主敏明1 小时前
go语言转换json字符串为json数据
开发语言·golang·json
codkingo1 小时前
Go - 泛型的使用
开发语言·golang