c++ - Qt如何捕获指示所有gui元素准备就绪的事件

标签 c++ events qt qt4

我想知道是否有可能捕获所有事件发生时生成的事件 Qt 对象已初始化并准备就绪?

似乎有些事情不能在窗口的构造函数中完成。它们在插槽实现中运行良好。

例如,当我想访问我的应用程序的根窗口时,我就是这样做的

// in *.h
MainWindow* rootWindow

// in *.cpp
rootWindow = qobject_cast<MainWindow *>(this->window());

如果它是在构造函数中完成的,我就不能使用 rootWindow 对象——它会导致运行时错误。

没有相关的插槽来实现。并且在 QMainWindow 类中创建事件不是虚拟的。

感谢您的帮助:)

最佳答案

您可以为此使用单次计时器。在您的主窗口类中,定义一个名为 say appReady() 的槽函数。在构造函数中,使用 QTimer::singleShot(0, this, SLOT(appReady())); 创建并连接一个单次定时器,一旦事件循环启动并运行,该定时器就会触发并且没有更多的启动事件挂起。

关于c++ - Qt如何捕获指示所有gui元素准备就绪的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465647/

相关文章:

mysql - 每当MYSQL数据库数据发生变化时,是否会调用任何事件?

qt - 表格 View 中的组合框

c++ - 如何在 C++ 中访问 3D 对象的最小和最大坐标?

c# - 在 Visual Studio 2012 中,页面控件和事件转到代码隐藏的哪个位置?

mysql - MYSQL 上的事件不适用于 phpmyadmin

c++ - (C++) 使用节点/链表时得到不一致的结果。

c++ - 我应该用哪种方式捕获异常?

qt - 在 Qt 中绘制多色线

c++ - _commit 问题与 fd()

c++ - c中的静态初始化