han*_*dle 5 c++ user-interface qt
在程序的 main() 函数中构造并显示 QMainwindow 对象。该对象的构造器用于创建所有 GUI 小部件。它包含当前在 QMainWindow 小部件可见之前运行的附加代码(或方法调用)。
此代码/方法应在 QMainWindow 构造函数之后运行一次,即当应用程序窗口可见时。
根据showEvent的文档,它可能会运行多次。
我是否需要在此事件中使用某种切换标志,或者是否有“更好”的解决方案(我以为我读到 QTimer 可用于将方法排队到事件循环中)?
小智 5
您可以尝试使用超时为 0 秒的 Qt 单次计时器。在主窗口构造函数的末尾调用此函数,将回调函数连接为插槽:
QTimer::singleShot( 0, this, SLOT( onLoad() ) );
Run Code Online (Sandbox Code Playgroud)