我有一个非常奇怪的问题。该应用程序基于Qt C ++。有一个TabWidget,其选项卡是动态创建的。该选项卡包含ActiveX小部件中的QtMainWindow。启动多个应用程序时,所选应用程序正常工作。但是当选择另一个选项卡时,它会变得无法响应。 当我最小化应用程序然后再次最大化时,选项卡开始正常工作。我尝试使用setFocus,activateWindow,showNormal和setActiveWindow,但没有任何工作。
有人可以在这个问题上帮助我吗?
答案 0 :(得分:0)
应用程序变得无法响应的最可能原因是停止主线程上的执行。从/或附加到Visual Studio调试器(比Qt Creator使用的调试器更好的调试器)运行项目尝试让您的应用程序处于如此无响应的状态。现在看一下Threads中的Main Thread视图(选择一个),同样查看Call Stack视图。执行在哪里停止?
输出视图中的日志也有助于重新创建如何实现目标的上下文。你可以在那里看到Qt和你自己的调试输出。
答案 1 :(得分:0)
调试时我发现App因为缺少WA_Mapped属性而未同步。我的问题恰恰与下面的问题相反。当我习惯在最小化后最大化时,App过去会变得敏感。最后在不同的地方设置WA_Mapped属性(试验n错误)修复了问题。
widgets freezing after minimise window
感谢@AlexanderVX回复。