`

QT 信号和槽的整理代码

    博客分类:
  • QT
阅读更多


信号可以传递多个参数给槽,但是槽只接收和自己参数个数一样的参数,比如信号传递了3个参数,但槽只有2个,那么槽只会接收前2个参数。
自定义信号的时候,需要使用emit发送出去。

#ifndef HELLO_H
#define HELLO_H

#include <QtGui/QWidget>
#include "ui_hello.h"

class Hello: public QWidget {
Q_OBJECT

public:
Hello(QWidget *parent = 0);
~Hello();

public slots://定义槽

void setText();
void setText(char*);
//用于发射本类中信号的方法
void pushValueSignal();
signals://定义信号
void valueChange();
void valueChange(char*);
void valueChange(char*,char*);
private:
Ui::HelloClass ui;
};

#endif // HELLO_H







#include "hello.h"
#include <qmessagebox.h>
Hello::Hello(QWidget *parent)
    : QWidget(parent)
{
ui.setupUi(this);
//连接clicked和setText函数
QObject::connect(ui.callButton,SIGNAL(clicked()),this,SLOT(setText()));
//连接valueChange(char*)和setText(char*)函数
QObject::connect(this,SIGNAL(valueChange(char*)),this,SLOT(setText(char*)));

//连接valueChange(char*,char*)和setText(char*)函数,实际上之接受第一个参数
QObject::connect(this,SIGNAL(valueChange(char*,char*)),this,SLOT(setText(char*)));

//这样是没有反应的,如果不带参数的信号发送给带参数的槽
QObject::connect(this,SIGNAL(valueChange()),this,SLOT(setText(char*)));
}
Hello::~Hello()
{

}
void Hello::pushValueSignal()
{
//发射信号valueChange出去,并带有参数
emit valueChange("test");
emit valueChange("Ch","ina");
emit valueChange();

}
void Hello::setText()
{
QMessageBox::about(this,"title",ui.textInput->text());
//调用发射信号的方法
pushValueSignal();
}
void Hello::setText(char* text)
{
QMessageBox::about(this,"title1",text);
}

 
分享到:
评论

相关推荐

    QT入门基础教程整理

    5. **信号和槽的优势**:信号和槽机制使得代码结构清晰,易于理解和维护。它支持动态连接和断开,允许在运行时更改对象间的交互,增强了代码的灵活性。 6. **信号和槽的注意事项**:信号不能直接调用,只能由QT内部...

    个人整理的QT开发资料

    - **信号和槽机制**:这是QT的核心特性,用于对象间的通信。当一个对象触发特定事件(信号),可以触发另一个对象的响应(槽)。 - **QT Creator**:QT的官方IDE,提供了集成的开发环境,包括代码编辑、调试、构建...

    2024年最新整理,qt开发最全面试集锦,含网络,文件系统,数据库,自定义控件,以及视频讲解,文档

    1、讲述Qt信号槽机制与优势与不足 2、Qt信号和槽的本质是什么 3、描述Qt中的文件流(QTextStream)和数据流(QDataStream)的区别 4、描述Qt的TCP通讯流程 5、描述UDP 之 UdpSocket通讯 6、多线程使用使用方法 7、多线程...

    QT资料整理

    6. **QT信号与槽**:理解信号与槽的连接方式,如直接连接、间接连接和Queued Connections,以及它们在多线程环境中的应用。 7. **QT数据库访问**:通过`QSqlDatabase`和相关类,学习如何与各种数据库(如MySQL、...

    QT系列教程整理

    5. **Qt信号与槽**:深入解释Qt的信号与槽机制,这是Qt编程的核心特性,用于对象间的通信。 6. **模型视图编程**:讲解如何使用QModel、QView和QDelegate实现数据驱动的用户界面,适用于复杂的数据展示。 7. **...

    基于QT的嵌入式整理资料

    QT拥有庞大的开发者社区,提供了丰富的教程、示例代码和论坛支持。通过不断学习和参与社区,开发者可以快速提高QT技能,解决实际项目中的问题。 综上所述,这份“基于QT的嵌入式整理资料”涵盖了QT框架的核心概念、...

    QT学习-知识整理(进阶篇)

    在QT进阶学习中,首先你需要理解QT的核心组件和架构,包括信号与槽机制、事件处理、窗口和控件的使用。信号与槽是QT的核心特性,它允许对象间通信,当一个对象的某个状态改变时(如按钮被点击),会触发信号,其他...

    QT学习-知识整理(入门篇)

    4. **信号与槽机制**:QT中的事件处理机制,信号表示对象状态的改变,槽是响应信号的函数。通过连接信号和槽,可以实现对象间的通信。 5. **布局管理**:使用`QLayout`管理组件的排列方式,如`QVBoxLayout`、`...

    qt creater 教程 整理 yafeilinux上的教程合集

    - **连接信号与槽**:在代码中或使用Qt Designer,可以将控件的信号连接到其他对象的槽,实现事件驱动编程。 4. **Qt模块与类库** - **Qt模块**:Qt提供了大量预定义的模块,如Widgets(用于GUI)、Network(处理...

    QT整理基础资料

    4. **QT信号与槽机制**:这是QT的核心特性之一,允许对象间通信。当一个对象的某个状态发生改变(信号),可以触发另一个对象的响应(槽)。 5. **QT Widgets编程**:QT提供了丰富的GUI组件,如按钮、文本框、菜单...

    关于ffplay在QT上的使用

    2. **QT 应用程序结构**:了解 QT 应用的基本结构,包括事件循环、信号与槽机制,以及如何创建和管理窗口部件。这将帮助我们构建一个与 FFplay 结合的用户界面。 3. **FFmpeg API 使用**:理解 FFmpeg 的核心 API,...

    QtCreator系列教程前四十八篇整理

    还会涉及信号与槽机制,这是Qt中处理事件和通信的核心概念,使得对象间的交互变得简单而直观。 然后,教程可能进入更高级的主题,如网络编程,使用QNetworkAccessManager进行HTTP请求,实现数据的获取和发送。还有...

    QT.rarQT资源,经典课件,适合新手!

    这个“QT.rar”压缩包可能包含了QT的教程、示例代码、API文档等内容,对于初学者来说,可以从这些资源中了解QT的基本概念,学习如何使用QT Creator创建项目,理解信号与槽的使用,逐步掌握QT框架的各项功能,并通过...

    qtmqtt在编译部署过程中需要将头文件导出,资源中是整理后的头文件,对应qtmqtt版本为5.14.2

    5. **事件驱动编程**:Qtmqtt基于Qt的信号和槽机制,因此你需要设置信号槽连接来处理连接状态变化、消息接收等事件。 6. **错误处理**:在实际开发中,错误处理是必不可少的。Qtmqtt提供了各种错误码和异常,如`...

    Qt学习资料 part3(已整理)

    6. **并发编程**:讨论了多线程和异步任务的处理,以及如何使用QThread和信号槽。 7. **测试和调试**:讲解了Qt的单元测试框架QtTest和调试技巧。 **读书笔记.chm** 这个CHM文件很可能是读者在阅读过程中整理出的...

    丁林松 qt教程视频资源下载地址

    - **信号与槽机制**: 介绍 Qt 中的核心通信机制——信号与槽,理解两者之间的关联原理。 - **事件处理**: 学习如何通过信号与槽机制处理用户输入事件,响应用户的操作。 **4.3 跨平台特性** - **平台支持**: Qt ...

    QT音频录音和播放

    QT框架是Qt公司开发的一款强大的跨平台应用程序开发框架,它被广泛用于创建桌面、移动以及嵌入式设备上的用户...不过,需要注意的是,由于描述中提到的“还没有整理”,这意味着提供的代码可能需要进一步完善和优化。

    qt 聊天窗口 示例

    7. **代码组织**:虽然源码可能没有经过注释和整理,但良好的编程实践是必要的。每个功能模块应封装为独立的类,如ChatWidget、MessageModel、NetworkManager等,遵循单一职责原则,方便维护和扩展。 8. **样式定制...

    Book-qtC++_QT_alphabet7lf_zip_

    3. **QT信号与槽**:这是QT的核心特性,用于对象间通信。理解信号和槽的概念,学习如何连接和断开信号与槽,以及异步编程模型。 4. **QT布局管理**:学习如何使用网格布局、垂直布局、水平布局等管理用户界面元素,...

    qt心得资料!

    1. **Qt基础教程**:这部分内容可能涵盖Qt环境的搭建、基本的Qt项目结构、窗口和控件的创建、事件处理机制、信号与槽机制等。理解这些基础知识是掌握Qt开发的关键。 2. **Qt GUI设计**:Qt提供了丰富的图形用户界面...

Global site tag (gtag.js) - Google Analytics