我的窗体用的是QDialog,Dialog中嵌入了个widget, 在widget的鼠标点击事件中弹出一个QMessageBox窗体,box关闭后窗体能得到焦点,但是需要鼠标点击一下后才能在继续操作。 不弹窗没有问题。
setFouces avticeWindows \ raise等方法都用过了。 比较挫的解决方案是模拟鼠标点击,也用了。
希望有知道的大神不吝赐教呀。。。。
Qt版本:5.1.1 开发环境VS2010, 操作系统:win7
可以借助Windows API来完成
这有个参考资料
http://blog.sina.com.cn/s/blog_4c0706560102vhkv.html
用了这个方式,每次弹窗后使用该方法设置窗体,结果死在AttachThreadInput(GetWindowThreadProcessId(GetForegroundWindow(), NULL),GetCurrentThreadId(), true) ;里了
最后还是用模拟点击解决了~~ 没有更好的方案了。
PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(1, 1));
PostMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(1, 1));