gpt4 book ai didi

c++ - Qt widgets 应用程序中主窗口第一次可见时如何显示对话框?

转载 作者:行者123 更新时间:2023-11-28 02:14:43 25 4
gpt4 key购买 nike

我有 Qt widgets 应用程序,必须先授权用户使用 Web 服务请求,然后才能使用该程序。如果用户因任何原因无法登录,我必须退出应用程序。

.NET Framework为此实现了Load事件:当用户第一次看到窗口时(这里的关键字是“用户看到”),可以显示对话框;如果对话结果不正常,我们在主应用程序窗口上调用关闭。

使用 Qt,我们可以覆盖 showEvent。但是,它会在用户真正看到主窗口之前触发。当我在 showEvent 中创建对话框时,它没有主窗口出现,而当我在 showEvent 中关闭主窗口时,它没有关闭(因为它现在没有打开) 并在用户登录失败时出现稍后的事件。它甚至在 QApplication::quit() 调用之后出现。

我的问题是:有没有一种方法可以接收与 .NET Framework/Windows API 中完全相同的功能,并在用户真正看到窗口时触发事件,而不是在他“可能看到某些东西或很快就会看到”时触发事件?可以从showEvent启动定时器来获得类似的效果,但我认为这并不专业,因为你永远不知道用户计算机上可能发生了什么(可能是它的CPU现在100%工作),并且您不能真正保证计时器会在正确的时刻显示对话。

最佳答案

我会尝试创建 MainWindow 和 hide() 它是默认的。启动时唯一显示的小部件应该是登录对话框。我会将成功登录与 QMainWindow 的 show() 槽连接起来,将登录失败与应用程序的退出槽连接起来。

关于c++ - Qt widgets 应用程序中主窗口第一次可见时如何显示对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34351835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com