回复: 新人求教一个关于信号和槽的问题
#6 [alexltr 12-31 09:20]
1. 信号和槽的基本概念没有搞清楚,建议看看文档里【Signals & Slots】这一章节,
慢慢理解,基本的用法应该是不难的。
2. 不知道你的实际代码是怎样的,但从你贴出的几行代码看,就有多处拼写错误。
干这个活还是要严谨一点,要不然出现一些莫名其妙的错误会耗费你很多时间。
即使发帖提问也应该一样,要不然别人看不懂你的代码, 怎么帮你?
#7 回 alexltr 的帖子 [gy19920615 01-02 08:54]
alexltr:1. 信号和槽的基本概念没有搞清楚,建议看看文档里【Signals & Slots】这一章节,
慢慢理解,基本的用法应该是不难的。
2. 不知道你的实际代码是怎样的,但从你贴出的几行代码看,就有多处拼写错误。
干这个活还是要严谨一 .. (2017-12-31 09:20)
#8 [ab13402364 01-04 09:40]
说一种我常用的方法吧,主要分四步:
一、在线程类中定义一个信号(如 dataShow(),可传参数,也可为空);
二、在定义线程对象的父类中定义一个相应的槽函数,槽函数实现界面显示相关操作;
三、在定义线程对象的父类中connect刚刚定义的信号和槽函数(注:信号和槽函数不在一个线程);
四、在线程类中的线程函数中发送刚刚定义的信号。(如 emit dataShow(),定义的时候有参数还得填写相应的参数)
#9 回 alexltr 的帖子 [勤为径也 01-04 10:18]
alexltr:1. 信号和槽的基本概念没有搞清楚,建议看看文档里【Signals & Slots】这一章节,
慢慢理解,基本的用法应该是不难的。
2. 不知道你的实际代码是怎样的,但从你贴出的几行代码看,就有多处拼写错误。
干这个活还是要严谨一 .. (2017-12-31 09:20)
版主,帮忙看看我的问题:《线程内使用emit(),内存泄漏十分严重,哪里出了问题?有源代码(http://www.qtcn.org/bbs/read-htm-tid-65443.html)》
#10 回 ab13402364 的帖子 [gy19920615 01-04 11:15]
ab13402364:说一种我常用的方法吧,主要分四步:
一、在线程类中定义一个信号(如 dataShow(),可传参数,也可为空);
二、在定义线程对象的父类中定义一个相应的槽函数,槽函数实现界面显示相关操作;
三、在定义线程对象的父类中connect刚刚定义的信号和槽函数(注:信号和槽函数不在一个线程) .. (2018-01-04 09:40)
谢谢回复,用了你教我的方法,
1.在MainWIdow类定义了信号datashow(double)和槽setvalue(double);
2.在窗口初始化函数里创建textBrowser类型的对象NUMERIC_C1。连接信号和槽,connecet(NUMERIC_C1,SIGNAI(datashow(double)),this,SLOT(setvalue(double)));
在静态函数里发送信号
static DWORD __stdcall PDOtest(DWORD EvenID,LPVOID pBuf ,DWORD buflen, LPVOID userdata)
{
....;
c1=(float)(....);
emit datashow(c1); //发送c1;
}
编译出错, ‘datashow’ was ot declared in this scope;
就是说对信号的定义不对吧,在静态函数里调用的话要在哪定义呢?