2

我正在使用QSplashscreen在我的应用程序中显示启动画面。通常,当我在加载应用程序时单击启动画面时,启动画面会消失。我看到mousepresseventonQsplashscreen是为了调用hide小部件的功能。

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

为什么有时我在启动画面上单击鼠标时会出现黑色背景?我使用的 Qt 版本是 4.8.5

4

2 回答 2

1

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

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

于 2019-06-17T23:53:36.930 回答
0

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

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

于 2018-03-05T02:22:29.127 回答