2

这是 Qt mainwindow.cpp 中自动生成的函数代码。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{

}

这会是一样的吗?

MainWindow::MainWindow(QWidget *parent)
{
    QMainWindow = parent;
    ui = new Ui::MainWindow;
}
4

1 回答 1

5

不,我相信QMainWindow它是一个基类,所以QMainWindow=parent根本不是替代品。至于ui任务。在第一种情况下,它将用 初始化new Ui::MainWindow,而在第二种情况下,它将在初始化后分配。在复杂对象的情况下,它可能会导致显着的性能损失,并且在构造后也可能无法正确初始化对象。

于 2012-12-30T20:41:11.557 回答