QT中UI实现小功能的步骤

1、新建一个目录

要勾选Generate form,生成一个.ui文件

把Shadow build的勾选取消,避免产生两个文件夹!

2、具体步骤

1.在UI界面中拖拽需要的组件对象

2.修改组件对象的名称

3.保存并运行,根据运行结果适当调整界面布局

4.业务处理 选中组件对象,右键 转到槽 ,选择信号, 确定

5.在生成的槽函数中 增加业务处理代码即可

6.验证!

3、使用UI界面实现一个简易的运算器

1、UI界面设计如下

2、demo.h文件如下

复制代码
#ifndef DEMO1_H
#define DEMO1_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class demo1; }
QT_END_NAMESPACE

class demo1 : public QWidget
{
    Q_OBJECT

public:
    demo1(QWidget *parent = nullptr);
    ~demo1();
    void op_clicked();
    void clear_clicked();

private slots:
    void on_btn_sum_clicked();

    void on_btn_clear_clicked();

private:
    Ui::demo1 *ui;
};
#endif // DEMO1_H

3、 demo.cpp文件如下

复制代码
#include "demo1.h"
#include "ui_demo1.h"
#include <QString>
#include <QMessageBox>

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

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

void demo1::on_btn_sum_clicked()
{
    double sop1 = this->ui->op1->text().toDouble();
    double sop2 = this->ui->op2->text().toDouble();

    if(this->ui->comboBox->currentText()=="+")
    {
        this->ui->res->setText(QString::number((sop1 + sop2),'f',2));
    }
    else if(this->ui->comboBox->currentText()== "-")
    {
        this->ui->res->setText(QString::number((sop1 - sop2),'f',2));
    }
    else if(this->ui->comboBox->currentText()== "*")
    {
        this->ui->res->setText(QString::number((sop1 * sop2),'f',2));
    }
    else if(this->ui->comboBox->currentText()== "/")
    {
        if(sop2 == 0)
        {
            this->ui->op2->clear();
            QMessageBox::warning(this,"警告","除数不能为0!!!");
        }
        this->ui->res->setText(QString::number((sop1 / sop2),'f',2));
    }
}


void demo1::on_btn_clear_clicked()
{
    this->ui->op1->clear();
    this->ui->op2->clear();
    this->ui->res->clear();
}

4、具体效果

相关推荐
憧憬成为web高手1 小时前
[HITCON 2017]SSRFme
学习
妖精的羽翼1 小时前
AI + 前端、可视化 & 大屏
学习
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
小宋加油啊9 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
Xzh042310 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
做cv的小昊11 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
星恒随风11 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
狼哥168611 小时前
蛋糕美食元服务_我的实现指南
ui·harmonyos
狼哥168611 小时前
蛋糕美食元服务_美食实现指南
ui·harmonyos
RReality12 小时前
【Unity UGUI】血条 / 进度条(HP Bar)
ui·unity·游戏引擎·图形渲染