重复点击时,QSplashscreen背景变黑

时间:2014-06-03 13:25:10

标签: c++ qt qsplashscreen

我正在使用QSplashscreen在我的应用中显示启动画面。通常当我在我的应用程序加载时点击启动屏幕时,飞溅屏幕消失。我看到mousepressevent上的Qsplashscreen用来调用小部件的hide功能。

但有时当我反复点击闪屏时,闪屏背景会变黑,如果我继续点击,我会收到一条消息,说应用程序没有响应。但过了一会儿,应用运行良好。

为什么我有时会在启动画面上点击鼠标获得黑背?我使用的Qt版本是4.8.5

2 个答案:

答案 0 :(得分:1)

我也遇到了这个问题,我发现最好的解决方案是禁用QSplashScreen,这样任何用户交互都不会触发任何事件。

我在Qt v5.8上进行了测试,但这也适用于v4.8.5。

答案 1 :(得分:0)

你得到黑色背景和“没有响应”消息的原因可能是因为你的主应用程序需要一些时间加载,这意味着它阻止主事件循环。大多数人试图禁用QSplashScreen实现的所有事件,但该解决方案不起作用。因此,最简单的解决方案是在构建主应用程序时不时调用QApplication.processEvents

请注意,您应该将业务逻辑与表示逻辑分开,正是因为这样的事情。解决这样的问题会更容易。