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