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