我正在使用QSplashscreen
在我的应用程序中显示启动画面。通常,当我在加载应用程序时单击启动画面时,启动画面会消失。我看到mousepressevent
onQsplashscreen
是为了调用hide
小部件的功能。
但有时当我反复点击闪屏时,闪屏背景会变黑,如果我继续点击,我会收到一条消息,说应用程序没有响应。但过了一会儿,应用程序运行良好。
为什么有时我在启动画面上单击鼠标时会出现黑色背景?我使用的 Qt 版本是 4.8.5
我正在使用QSplashscreen
在我的应用程序中显示启动画面。通常,当我在加载应用程序时单击启动画面时,启动画面会消失。我看到mousepressevent
onQsplashscreen
是为了调用hide
小部件的功能。
但有时当我反复点击闪屏时,闪屏背景会变黑,如果我继续点击,我会收到一条消息,说应用程序没有响应。但过了一会儿,应用程序运行良好。
为什么有时我在启动画面上单击鼠标时会出现黑色背景?我使用的 Qt 版本是 4.8.5
我也遇到了这个问题,我发现最好的解决方案是禁用QSplashScreen
任何用户交互都不会触发任何事件的方式。
我在 Qt v5.8 上对此进行了测试,但这也适用于 v4.8.5。
您收到黑色背景和“无响应”消息的原因可能是因为您的主应用程序需要一些时间来加载,这意味着它阻塞了主事件循环。大多数人试图禁用所有QSplashScreen
实现的事件,但该解决方案没有不工作。QApplication.processEvents
因此,最简单的解决方案是在构建主应用程序时不时调用。
请注意,您应该将业务逻辑与表示逻辑分开,正是因为这样。解决这样的问题会容易得多。