QT中的Singal\slot机制
QT中的Singal\slot机制
在QT工程项目中,会使用到多窗口或者二级窗口,而窗口之间做数据交流时,可以使用信号\槽机制,将两个不相关的对象相连,达到数据传输的效果。
语法
Connect函数
以子窗口向父窗口传递数据为例
- 子界面
在子界面中,需要在类中添加信号(singal)函数,在信号函数中,获取数据。
son_win.h
signals:
void sendData(QString); //传递数据的信号son_win.cpp
emit sendData(ui->textEdit->toPlainText());
//以获取textEdit数据为例,触发函数可以使用按键事件
- 父界面
在父界面中,添加槽函数以接收信息
father_win.h
void receiveData(QString data); // 槽函数father_win.cpp
void Widget::receiveData(QString data)
{ui->textBrowser->insertPlainText(data); //接收输入并且显示ui->textBrowser->moveCursor(QTextCursor::End);
}
3.连接器
有了信号和槽,但是两个事件是并不相关的,都是独立于工程的,所以需要一个连接器,也就是connect函数将两者关联起来,使得在信号发射时,槽能够立即响应。
father_win.cpp
//在构造函数中创建对象和调用connect函数
son_win *dlg = new son_win;connect(dlg,SIGNAL(sendData(QString)),this,SLOT(receiveData(QString)));
QT中的Singal\slot机制相关推荐
- C++中运行一个程序的内存分配情况及qt中的内存管理机制
一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一 ...
- qt中emit signal slot
qt中emit signal slot qt中的类库有很多都是从QObject上继承下来的, 信号与反应槽(signals/slot)机制就是用来在QObject类或其子类之间通信的一种方法.作为一种 ...
- 【精华】详解Qt中的内存管理机制
前言 内存管理,是对软件中内存资源的分配与释放进行有效管理的方法和理论. 众所周知,内存管理是软件开发的一个重要的内容.软件规模越大,内存管理可能出现的问题越多.如果像C语言一样手动地管理内存,一会给 ...
- Qt 中的信息输出机制:QDebug、QInfo、QWarning、QCritical 的简单介绍和用法
Qt 中的信息输出机制 介绍 QDebug 在 Qt 中使用 qDebug 输出不同类型的信息 浮点数:使用 %!f(MISSING) 格式化符号输出浮点数 布尔值:使用 %! (MISSING)和 ...
- Qt中的信号与槽机制解析
注:要想使用Qt的核心机制信号与槽,就必须在类的私有数据区声明Q_OBJECT宏,然后会有moc编译器负责读取这个宏进行代码转化,从而使Qt这个特有的机制得到使用. 所谓信号槽,简单来说,就像是插销一 ...
- Qt元对象和属性机制
Qt元对象和属性机制 1. 元对象 元对象(meta object)意思是描述另一个对象结构的对象,比如获得一个对象有多少成员函数,有哪些属性.在Qt中,我们将要用到的是QMetaObject这个类. ...
- c#,c++,qt中多线程访问UI控件线程的问题汇总
c#和MFC中可以创建UI控件及模态/非模态对话框,Qt中只能在主UI线程中创建访问UI控件. c#和MFC中可以通过全局变量或指针句柄等方式在工作线程中访问其他UI线程控件,其中c#需要Invoke ...
- qt中使用 ui 文件进行界面设计
目录 1.创建 Qt 应用 2.项目创建成功 3.直接点击打开 mainwindow.ui 文件 4.随便从左边侧边栏拖拽一个空间到 界面设计区域 5.在右侧边栏右键点击 pushButton 控件 ...
- QT 中 关键字讲解(emit,signal,slot)以及使用
Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法.作为一种通用的处理机制,信号与反应槽非常灵活,可以携 ...
最新文章
- 【JBOSS】User not found SA
- 了解JavaScript 对象的属性操作
- git安装【Windows】
- FFT-Matlab初步实现
- 2016php技术面试题,一个php的面试题,大家看看
- LeetCode之Power of Two
- web 信息模糊检索等 Lucene的实现
- 善用assert函数
- 计算器的二进制功能java_Java二进制文字– Java 7功能
- DevOps使用教程 华为云(18)git 把单个文件回退到某一版本
- 图书管理系统实验报告-面向对象的分析与设计
- AI和计算机会议,CCF推荐人工智能领域的会议和期刊
- 助航标志信息自动导入电子海图研究
- 阿里云吴翰清:如何落地数字化转型
- 饿了么接入之饿了么首次下单测试
- Ubuntu安装输入法却不能切换输入法
- matlab梯形法求二重积分,复化梯形公式公式求二重积分matlab源码
- Kimball维度建模
- Isight软件调用matlab
- 什么是谐波?谐波的危害
热门文章
- java计算机毕业设计科普网站源码+mysql数据库+系统+lw文档+部署
- “听鉴红古轩——赵鹏郭宴HIFI金曲音乐会”圆满落幕
- 人工智能——归结演绎推理
- Keil4工程用Keil5继续开发,编译报错问题探究
- PKI学习系列-基本概念
- 台式电脑增加算数计算机,台式电脑如何增加硬盘数量
- Python学习(1)——小甲鱼零基础入门python学习笔记(更新-ing)
- 固态硬盘计算机怎么自定义分区,如何将SSD固态硬盘设置为主硬盘,如何将SSD分区设置为主硬盘?...
- 3D游戏与编程——UI系统
- 物联网卡技术的8种通信协议