找回密码
 立即注册
收起左侧

感觉是多线程问题,各位来帮忙看看!

23
回复
12644
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-10-7 18:06:02 显示全部楼层 |阅读模式
5Qter豆
现在有个问题,我的ARM板子现在主板和底板之间的通信是程序中的一个线程,专门用于接收板子之间的数据。
然后通过信号和槽吧按键的键值传给mianwindow,对于处理按键的操作是在mianwindow里面
当按键触发一个功能,在我主界面打开一个选择窗口之后,我上面就接收不到下面的按键数据了,貌似被这个选择窗口卡住了。用鼠标吧这个窗口关掉之后又能接收了。

这种情况是什么问题呢?怎么解决比较好?

最佳答案

查看完整内容

你的意思是 新出来的"选择窗口"覆盖了你 主窗口的 键盘事件是吧?如果是这样的话,你试试在"选择窗口"的键盘事件里写一句 e->ignore();这一句,,(这句的意思就是 让子窗口接收到的事件也传给父窗口)
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-7 18:06:03 显示全部楼层
你的意思是  新出来的"选择窗口"覆盖了你 主窗口的  键盘事件是吧?如果是这样的话,你试试在"选择窗口"的键盘事件里写一句  e->ignore();这一句,,(这句的意思就是 让子窗口接收到的事件也传给父窗口)

点评

好像那个QMessage弹出来的提示框 卡住了这个线程的工作 我试了一下在其他单纯的界面 不会出现这个问题 都能接收按键进行操作  详情 回复 发表于 2015-10-8 08:53
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-8 08:53:52 显示全部楼层
qq1043068972 发表于 2015-10-7 19:53
你的意思是  新出来的"选择窗口"覆盖了你 主窗口的  键盘事件是吧?如果是这样的话,你试试在"选择窗口"的键 ...

好像那个QMessage弹出来的提示框 卡住了这个线程的工作 我试了一下在其他单纯的界面 不会出现这个问题 都能接收按键进行操作

点评

哦,QMesssage阻塞后边的代码的  详情 回复 发表于 2015-10-8 09:08
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-8 09:08:49 显示全部楼层
z55716368 发表于 2015-10-8 08:53
好像那个QMessage弹出来的提示框 卡住了这个线程的工作 我试了一下在其他单纯的界面 不会出现这个问题 都 ...

哦,QMesssage阻塞后边的代码的

点评

恩 但是现在我写成非阻塞模式 可以接收按键但是不能控制message选择运行(他自己就把应该点击才运行的直接运行了) 怎么办呢  详情 回复 发表于 2015-10-8 10:03
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-8 10:03:35 显示全部楼层
qq1043068972 发表于 2015-10-8 09:08
哦,QMesssage阻塞后边的代码的

恩 但是现在我写成非阻塞模式 可以接收按键但是不能控制message选择运行(他自己就把应该点击才运行的直接运行了) 怎么办呢

点评

你的意思是,qmessage上的 确定和取消 这两个按钮不起作用了?  详情 回复 发表于 2015-10-8 17:45
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-8 17:45:14 显示全部楼层
z55716368 发表于 2015-10-8 10:03
恩 但是现在我写成非阻塞模式 可以接收按键但是不能控制message选择运行(他自己就把应该点击才运行的直 ...

你的意思是,qmessage上的  确定和取消  这两个按钮不起作用了?

点评

恩 貌似如果是show出来的 就没有作用 所以自己重新做了一个选择对话框界面 用一个信号来做处理  详情 回复 发表于 2015-10-9 08:41
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-9 08:41:48 显示全部楼层
qq1043068972 发表于 2015-10-8 17:45
你的意思是,qmessage上的  确定和取消  这两个按钮不起作用了?

恩 貌似如果是show出来的 就没有作用 所以自己重新做了一个选择对话框界面 用一个信号来做处理
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 09:01:01 显示全部楼层
好基友,,你在哪里工作?

点评

成都啦、、、、算上实习有6个月了 对了你知道怎么吧音频文件转成QByTeArray么 或者怎么往串口发送  详情 回复 发表于 2015-10-23 09:13
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-23 09:13:18 显示全部楼层
qq1043068972 发表于 2015-10-23 09:01
好基友,,你在哪里工作?

成都啦、、、、算上实习有6个月了 对了你知道怎么吧音频文件转成QByTeArray么 或者怎么往串口发送

点评

你的毕业设计做的啥?好基友 有啥好idea,,这要做毕业设计了  详情 回复 发表于 2015-10-24 10:15
音频装成QbyteArry可以,,,但是再往串口发我就不清楚了  详情 回复 发表于 2015-10-23 10:28
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 10:28:15 显示全部楼层
z55716368 发表于 2015-10-23 09:13
成都啦、、、、算上实习有6个月了 对了你知道怎么吧音频文件转成QByTeArray么 或者怎么往串口发送 ...

音频装成QbyteArry可以,,,但是再往串口发我就不清楚了

点评

//把音频文件放入字节流 QFile file(para_API_record_path); if( !(file.open(QIODevice::ReadWrite))) { //QMessageBox::warning(this,"警告","打开语音文件失败!"); qDebug()  详情 回复 发表于 2015-10-23 10:30
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 10:30:42 显示全部楼层
qq1043068972 发表于 2015-10-23 10:28
音频装成QbyteArry可以,,,但是再往串口发我就不清楚了

//把音频文件放入字节流  
QFile file(para_API_record_path);
    if( !(file.open(QIODevice::ReadWrite)))
    {
        //QMessageBox::warning(this,"警告","打开语音文件失败!");
        qDebug()<<"打开语音文件失败!"<<endl;
        return;
    }

    QDataStream in(&file);
    m_buf =new char[file.size()];
    in.readRawData(m_buf,file.size());
    file.close();
//转成QbyteArry
QByteArray arr = QByteArray(m_buf, file.size());

点评

哦 原来用文件操作的方式转啊 我还以为可以直接处理 谢了  详情 回复 发表于 2015-10-23 11:12
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-23 11:12:32 显示全部楼层
本帖最后由 z55716368 于 2015-10-23 11:26 编辑
qq1043068972 发表于 2015-10-23 10:30
//把音频文件放入字节流  
QFile file(para_API_record_path);
    if( !(file.open(QIODevice::ReadWrit ...

谢谢了啊 恩 有基友就是不错 哈哈 你还是在青岛么

点评

恩,,,中了一家,,,待遇还说得过去,马上去北京工作了,,,哎,,来学校招嵌入式的太少了,,我打算先去北京,,,然后再自己找吧!  详情 回复 发表于 2015-10-23 12:27
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 12:27:40 显示全部楼层
z55716368 发表于 2015-10-23 11:12
谢谢了啊 恩 有基友就是不错 哈哈 你还是在青岛么

恩,,,中了一家,,,待遇还说得过去,马上去北京工作了,,,哎,,来学校招嵌入式的太少了,,我打算先去北京,,,然后再自己找吧!

点评

挺好啊 北京呢 听说上班的话住的地方有点坑  详情 回复 发表于 2015-10-23 12:58
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-23 12:58:32 显示全部楼层
qq1043068972 发表于 2015-10-23 12:27
恩,,,中了一家,,,待遇还说得过去,马上去北京工作了,,,哎,,来学校招嵌入式的太少了,,我打算先去北京,,,然 ...

挺好啊 北京呢 听说上班的话住的地方有点坑

点评

我去的是个外包公司 北京博彦(没办法了,这个学习,来学校招的公司都是这个档次了,北京好一点的都要有经验的),  详情 回复 发表于 2015-10-23 13:34
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 13:34:55 显示全部楼层
z55716368 发表于 2015-10-23 12:58
挺好啊 北京呢 听说上班的话住的地方有点坑

我去的是个外包公司  北京博彦(没办法了,这个学习,来学校招的公司都是这个档次了,北京好一点的都要有经验的),

点评

外包公司也不错的 我同学在华为的一个外包待遇都还不错 加班有工资 双休 但是有一些外包公司只是招人改bug 这种不太好 还是有机会去找一个做项目的好一些  详情 回复 发表于 2015-10-23 14:03
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-23 14:03:40 显示全部楼层
qq1043068972 发表于 2015-10-23 13:34
我去的是个外包公司  北京博彦(没办法了,这个学习,来学校招的公司都是这个档次了,北京好一点的都要有经验 ...

外包公司也不错的 我同学在华为的一个外包待遇都还不错 加班有工资 双休 但是有一些外包公司只是招人改bug 这种不太好 还是有机会去找一个做项目的好一些

点评

不是做QT,,~~~~(>_  详情 回复 发表于 2015-10-23 20:43
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-23 20:43:38 显示全部楼层
z55716368 发表于 2015-10-23 14:03
外包公司也不错的 我同学在华为的一个外包待遇都还不错 加班有工资 双休 但是有一些外包公司只是招人改bu ...

不是做QT,,~~~~(>_<)~~~~,是做.net,,,说什么 微软部,,,进去了还要培训商务英语...因为都是跟微软派到他们公司的人打交道,,反正就是英文环境,,还说有机会去美国西雅图学习,,,,说的挺高大上的,,但是这些企业都是,招聘前牛逼吹的好,,签了协议,,本来面目就出来了,我不抱希望,只是别压榨我就好了

点评

只要加班有工资 也就可以了 我这边 加班都没工资的  详情 回复 发表于 2015-10-24 22:14
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-10-24 10:15:29 显示全部楼层
z55716368 发表于 2015-10-23 09:13
成都啦、、、、算上实习有6个月了 对了你知道怎么吧音频文件转成QByTeArray么 或者怎么往串口发送 ...

你的毕业设计做的啥?好基友  有啥好idea,,这要做毕业设计了

点评

毕设不是老师给的题目了 自己选啊 你这样建议选软件方面的 做出东西 对论文不是太看重 把东西做出来就OK了  详情 回复 发表于 2015-10-24 22:13
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-24 22:13:42 显示全部楼层
qq1043068972 发表于 2015-10-24 10:15
你的毕业设计做的啥?好基友  有啥好idea,,这要做毕业设计了

毕设不是老师给的题目了 自己选啊 你这样建议选软件方面的
做出东西 对论文不是太看重 把东西做出来就OK了

点评

没有,我们是给了一个列表,,然后说"这个列表上的东西都不能做!"其他可以随便想!我平时自己做着玩的都"救济"我同学了,然后我突然发现,我没给自己留!!!!!然后现在没有好的idea,,,你成品吗?救济我下一下,,,马上工作了,老  详情 回复 发表于 2015-10-24 22:35
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-10-24 22:14:17 显示全部楼层
qq1043068972 发表于 2015-10-23 20:43
不是做QT,,~~~~(>_

只要加班有工资 也就可以了 我这边 加班都没工资的

点评

刚毕业的话加班没什么的,干我们这行哪有不加班的呢?我去年毕业的,现在基本都会加班,多学点东西总是好的啊  发表于 2015-10-31 23:28
博彦是外企,,,按国外的标准来,,签约的时候说的是:"公司不加班,,加班要提交申请,周六周日不仅不加班,,公司也不能进!"(hr是这么说的,但是我不相信他们,管他外企还是国企,中国又不加班的公司?)  详情 回复 发表于 2015-10-24 22:38
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了