在 Qt 中,当一个窗口被显示的时候,就会触发它的 showEvent()
事件。如果在这个事件的处理函数中新建了一个窗口,那么这个新建的窗口就不会立刻更新 UI,因为这个新建的窗口还没有被初始化,也没有被显示。如果想要更新 UI,需要在窗口被初始化并且被显示后,再去更新 UI。
例如,可以在新建窗口的构造函数中初始化 UI,或者在新建窗口的 showEvent()
事件的处理函数中更新 UI。
下面是一个例子,在主窗口的 showEvent()
事件的处理函数中新建了一个子窗口,并在子窗口的构造函数中初始化了 UI:
#include <QMainWindow>
#include <QWidget>
class MainWindow : public QMainWindow
{
Q_OBJECT
public: