• 3472阅读
  • 2回复

[提问]Windows下Qt窗口如何跨线程获取焦点 [复制链接]

上一主题 下一主题
离线helong_1024
 

只看楼主 倒序阅读 楼主  发表于: 2017-12-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();

请大神给看看,拜托啦!!!
本帖提到的人: @dbzhang800
离线小韩老师

只看该作者 1楼 发表于: 2017-12-14
this->setWindowFlags(Qt::WindowStaysOnTopHint)
你首先要确保你的这个this是个window,而不仅仅是个widget。我感觉是这样的,可以尝试一下?
离线笑颜

只看该作者 2楼 发表于: 2017-12-14
可以直接使用WinAPI。应该就可以了!好像是SetFocus();
快速回复
限100 字节
 
上一个 下一个