我想知道是否有可能捕获所有事件发生时生成的事件 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/