跪求方案:Qt弹窗后光标不能返回原窗体,需要点一下原窗体才能继续操作

仰望天空的狗 广联达 高级软件开发工程师  2015-05-15 08:06:22
我的窗体用的是QDialog,Dialog中嵌入了个widget, 在widget的鼠标点击事件中弹出一个QMessageBox窗体,box关闭后窗体能得到焦点,但是需要鼠标点击一下后才能在继续操作。 不弹窗没有问题。
setFouces avticeWindows \ raise等方法都用过了。 比较挫的解决方案是模拟鼠标点击,也用了。
Qt版本:5.1.1 开发环境VS2010, 操作系统:win7

...全文
135 点赞 收藏 4
写回复
4 条回复
仰望天空的狗 2015年05月27日
最后还是用模拟点击解决了~~ 没有更好的方案了。 PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(1, 1)); PostMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(1, 1));
回复 点赞
十秒耿直拆包选手 2015年05月24日
引用 2 楼 tqcool 的回复:
[quote=引用 1 楼 jiangcaiyang123 的回复:] 换新的版本试试看。其实我也不知道你想要什么效果…………
要的效果就是:回到主窗体后,不用先用鼠标点下窗体,才能继续操作。 换不了版本。。。 公司项目[/quote] 你设置的setfocus是对qdialog窗体么??如果是,应该能获得窗口的呀!!!
回复 点赞
仰望天空的狗 2015年05月20日
引用 1 楼 jiangcaiyang123 的回复:
换新的版本试试看。其实我也不知道你想要什么效果…………
要的效果就是:回到主窗体后,不用先用鼠标点下窗体,才能继续操作。 换不了版本。。。 公司项目
回复 点赞
彩阳 2015年05月19日
换新的版本试试看。其实我也不知道你想要什么效果…………
回复 点赞
发动态
发帖子
Qt
创建于2009-11-04

1.0w+

社区成员

2.5w+

社区内容

Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区公告
暂无公告