【QT系列】快速了解QT怎么用

本文的目的是为了让你快速了解信号与槽

实例一

步骤一、编辑主窗口

  1. 打开mainwindow.ui文件。
  2. 从工具箱中拖拽一个QPushButton和一个QLabel到窗口上。
  3. 选择QPushButton,然后在属性编辑器中设置一个对象名为pushButton
  4. 选择QLabel,然后在属性编辑器中设置一个对象名label

步骤二、连接信号与槽

  1. 点击pushButton,然后在底部的“信号/槽编辑器”中找到clicked()信号
  2. clicked()信号连接到MainWindow类的槽函数。如果还没有槽函数,可以点击“...”按钮创建一个新的槽函数,例如命名为on_pushButton_clicked

步骤三、编写槽函数

  1. 打开mainwindow.cpp文件。
  2. 找到on_pushButton_clicked函数的声明,例如:

void MainWindow::on_pushButton_clicked()

{

}

    3、实现槽函数,例如,当按钮被点击时,更新QLabel的文本:

void MainWindow::on_pushButton_clicked()

{

label->setText("按钮被点击了!");

}

现在,当你点击按钮时,MainWindow类中的on_pushButton_clicked槽函数会被调用,QLabel的文本会更新。

实例二

步骤一、创建项目

按照之前的步骤创建一个新的Qt Widgets应用程序。

步骤二、设计界面

  1. 打开mainwindow.ui
  2. 拖拽两个QLineEdit控件到窗口,用于输入操作数。
  3. 拖拽一个QLabel控件,用于显示结果。
  4. 拖拽几个QPushButton控件,代表基本的数学运算:加(+)、减(-)、乘(*)、除(/)。

步骤三、设置对象名称

在属性编辑器中为控件设置对象名称:

  • 第一个QLineEditoperand1
  • 第二个QLineEditoperand2
  • QLabelresultLabel
  • 按钮分别命名为:addButtonsubtractButtonmultiplyButtondivideButton

步骤 4: 连接信号与槽

为每个按钮的clicked信号连接到MainWindow的槽函数。如果没有槽函数,可以创建它们,例如:

  • on_addButton_clicked
  • on_subtractButton_clicked
  • on_multiplyButton_clicked
  • on_divideButton_clicked

步骤 5: 实现槽函数

mainwindow.cpp中实现这些槽函数:

#include "mainwindow.h"
#include "ui_mainwindow.h"

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

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

//当用户点击加号按钮时,此槽函数被调用。它从两个QLineEdit控件operand1operand2中读取文本,并将其转换为double类型。然后,执行加法运算,并将结果显示在resultLabel上。

void MainWindow::on_addButton_clicked()
{
    double op1 = ui->operand1->text().toDouble();
    double op2 = ui->operand2->text().toDouble();
    double result = op1 + op2;
    ui->resultLabel->setText(QString::number(result));
}

//执行的是减法运算。

void MainWindow::on_subtractButton_clicked()
{
    double op1 = ui->operand1->text().toDouble();
    double op2 = ui->operand2->text().toDouble();
    double result = op1 - op2;
    ui->resultLabel->setText(QString::number(result));
}

//执行的是乘法运算。

void MainWindow::on_multiplyButton_clicked()
{
    double op1 = ui->operand1->text().toDouble();
    double op2 = ui->operand2->text().toDouble();
    double result = op1 * op2;
    ui->resultLabel->setText(QString::number(result));
}

//当用户点击除号按钮时,此槽函数被调用。它首先检查除数是否为0,如果是,则在resultLabel上显示错误信息;如果不是,则执行除法运算,并将结果显示在resultLabel上。

void MainWindow::on_divideButton_clicked()
{
    double op1 = ui->operand1->text().toDouble();
    double op2 = ui->operand2->text().toDouble();
    if (op2 != 0) {
        double result = op1 / op2;
        ui->resultLabel->setText(QString::number(result));
    } else {
        ui->resultLabel->setText("错误:除数不能为0");
    }
}

最后点击运行就可以.

相关推荐

  1. QT系列快速了解QT怎么

    2024-07-14 16:04:05       28 阅读
  2. QT - 嵌入式快速移植QT记录

    2024-07-14 16:04:05       53 阅读
  3. Qt | Qt 快速入门(零基础)

    2024-07-14 16:04:05       27 阅读
  4. Qt快速入门(一)】- Qt简介

    2024-07-14 16:04:05       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 16:04:05       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 16:04:05       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 16:04:05       62 阅读
  4. Python语言-面向对象

    2024-07-14 16:04:05       72 阅读

热门阅读

  1. 【Linux 基础】df -h 的输出信息解读

    2024-07-14 16:04:05       28 阅读
  2. 老生常谈的页面渲染流程

    2024-07-14 16:04:05       21 阅读
  3. 虚拟地址空间(Virtual Address Space, VAS)

    2024-07-14 16:04:05       22 阅读
  4. 定期更新github相关hosts

    2024-07-14 16:04:05       24 阅读
  5. 前端面试题日常练-day86 【面试题】

    2024-07-14 16:04:05       19 阅读
  6. 机器学习之常用优化器

    2024-07-14 16:04:05       26 阅读
  7. C++常用算法的简单总结

    2024-07-14 16:04:05       26 阅读
  8. 渗透测试 —— 揭开数字安全的隐形面纱

    2024-07-14 16:04:05       21 阅读