QT学习--第一个简单的信号与槽操作

本文详细介绍了Qt框架中的信号与槽通信机制,通过connect函数将按钮单击事件(信号)与弹出对话框功能(槽)相连。以新文档操作为例,展示了如何在C++代码中实现信号与槽的连接和处理。
摘要由CSDN通过智能技术生成

信号与槽机制

一种部件之间的通信机制。

比如单击窗口上一个按钮然后弹出一个对话框,那么就可以将这个按钮的单击信号和自定义的槽关联起来,信号是按钮的单击信号,槽实现了创建一个对话框并显示的功能。

connect函数

将信号与槽连接起来的函数

其格式:

connect(sender, &Sender::valueChanged,receiver, &Receiver::updateValue);

&Sender::valueChanged就是信号发送的事件,&Receiver::updateValue是槽收到信号后执行的事件

简单示例

其代码结构:
在这里插入图片描述

首先在UI设计界面中添加这些按键:
在这里插入图片描述
接下来我们为New设计一个槽

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private slots:
    void newDocument();
private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

这里声明了一个槽函数newDocument()

在mainwindow.cpp中:

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

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->actionNew,&QAction::triggered,this,&MainWindow::newDocument);


}

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

void MainWindow::newDocument()
{
    ui->textEdit->setText("new document");
}

connect函数将信号与槽函数连接,这里QAction::triggered表示点击按键时发送信号。
在定义newDocument的操作,即将文本框中的文字设置为new document。

结果

点击New之前
在这里插入图片描述
点击New之后
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值