标题:Windows下Qt窗口如何跨线程获取焦点
作者:helong_1024
日期:2017-12-14 00:14
内容:
基础描述:
Windows平台下,用vs2010开发的2个Qt程序A和B。
预期目标:
当A程序点击按钮发出消息,B程序接收到A发出的消息后让自己获得焦点成为系统活动窗口。
现存问题:
现在已经在B程序里获取到A发出的消息并解析完成,但不知如何获得焦点成为系统活动窗口。
试过如下代码,但报出错跨线程的错误。
this->hide();
this->setWindowFlags(Qt::WindowStaysOnTopHint);
this->show();
this->hide();
this->setWindowFlags(Qt::Widget);
this->show();
请大神给看看,拜托啦!!!
#1 [小韩老师 12-14 08:06]
this->setWindowFlags(Qt::WindowStaysOnTopHint)
你首先要确保你的这个this是个window,而不仅仅是个widget。我感觉是这样的,可以尝试一下?
#2 [笑颜 12-14 08:54]
可以直接使用WinAPI。应该就可以了!好像是SetFocus();