首页| 论坛| 消息

标题:请问在静态函数里怎么访问UI 控件
作者:gy19920615
日期:2017-12-21 13:57
内容:

我写的代码里有个线程函数,处理传进来的数据并显示到主窗口的控件上,因为是静态函数所以不能直接访问ui控件,我用UserData作为指针来传递ui控件,编译能够通过,但是接上CAN盒子运行,窗口就卡死,已经查明了就是 ((UI::MainWindow*)UserData)->NUMERIC_C1->setText(tempStr.setNum(c1));这个代码的问题,注释掉以后不会卡死。请问有什么解决办法吗?正确的访问UI控件的方法是怎么样的?
static DWORD __stdcallThreadPDOTest(DWORD eventID, LPVOID pBuf, DWORD BufLen, LPVOID UserData )
{
int ERR1=-1, ERR2=-1,ERR3=-1,i=0
unsigned char data[8];
DWORDdwDataLen;
in data_in=0;
QSTringtempStr;
floatc1=0,c2=0,c3=0,c4=0;
if(EventID==2)
{
for (i=0;i


#1 [breezeblow 12-21 15:03]
使用信号槽处理
#2 回 breezeblow 的帖子 [gy19920615 12-21 16:14]
breezeblow:使用信号槽处理 (2017-12-21 15:03) 
新人刚接触界面开发,可否讲具体点~
#3 [yanwuyue 12-22 08:40]
Qt的界面只能在主线程运行,次线程运行就崩了,你要用Qt必须了解Qt的信号与槽这个机制
#4 [gy19920615 12-22 13:41]
好吧~
#5 回 yanwuyue 的帖子 [gy19920615 12-22 13:43]
yanwuyue:Qt的界面只能在主线程运行,次线程运行就崩了,你要用Qt必须了解Qt的信号与槽这个机制 (2017-12-22 08:40) 
好吧,谢谢回复

<< 1 2 3 >> (1/3)

回复 发表
主题 版块