ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

QT QString转化为char*以及函数指针的使用

2019-09-08 17:02:21  阅读:611  来源: 互联网

标签:connect 函数 char 参数 QString 信号 连接 QT


QString->char*
变量名.toUtf8().data();

自定义的信号和槽出现重载时
需要使用函数指针指向要调用的函数地址
语法:
类型(类名::*变量名)(指向函数的参数类型)=&类名::函数名
当信号连接无参数的槽函数的时候,指向函数的参数类型是void
信号可以连接信号

断开信号:disconnect();参数与connect相同

扩展:1.一个信号可以连接多个槽函数
2.多个信号可以连接头一个槽函数
3.信号和槽函数的参数,类型必须一一对应
4.信号的参数个数可以多与槽函数的个数,反之不成立。但剩下的类型要一一对应

信号和槽的使用:
无参数:

connect(zt,&Teacher::hungry,st,&Student::treat);

先连接后触发信号

classIsOver();

有参数:连接带参数的信号和槽

//函数指针
void (Teacher::*teatherSignal)(QString)=&Teacher::hungry;
void (Student::*studentSignal)(QString)=&Student::treat;
connect(zt.theacherSignal,st,studentSinal);

触发条件是classIsOver();

QT4版本的信号和槽的连接方式
无参数:connect(zt,SIGNAL(hungry()),st,SIGNAL(treat()));
有参数: connect(zt,SIGNAL(hungry(QString)),st,SIGNAL(treat(QString)));
优点:参数直观,缺点:参数类型不做检测

标签:connect,函数,char,参数,QString,信号,连接,QT
来源: https://blog.csdn.net/weixin_43730516/article/details/100630724

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有