Qt - 这些代码行是什么意思

时间:2011-04-12 08:14:58

标签: c++ qt dialog

在创建对话框应用程序的C++ GUI Programming with Qt 4书中,有以下main.cpp文件:

#include <QApplication>
#include <QDialog>
#include "ui_gotocelldialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Ui::GoToCellDialog ui;
QDialog *dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}

您能描述一下这些代码吗?

    Ui::GoToCellDialog ui;
    QDialog *dialog = new QDialog;
    ui.setupUi(dialog);

感谢。

3 个答案:

答案 0 :(得分:3)

&#34; ui_gotocelldialog.h&#34;是一个基于文件自动生成的文件&#34; gotocelldialog.ui&#34;其中包含对话框的GUI。必须调用Ui :: GoToCellDialog :: setupUi()才能初始化UI。

答案 1 :(得分:3)

让我们来看看:

Ui::GoToCellDialog ui;

此行创建GoToCellDialog的实例。正如已经说过的,这个类是从gotocelldialog.ui文件自动生成的。用例是:

  1. 打开qt-designer并创建所需的界面。
  2. 保存文件(在我们的案例中为gotocelldialog.ui
  3. 在.cpp文件中写#include "ui_gotocelldialog.h"
  4. 现在您可以使用您设计的界面
  5. PROFIT ????
  6. 下一步:

    QDialog *dialog = new QDialog;
    

    此行创建表示简单模态窗口的QDialog类的新实例(通常称为对话框)。但是在这一行之后你的窗口将是空的。你需要放置控件,对吗?你怎么能这样做?让我们看看:

    ui.setupUi(dialog);
    

    此行使用您在qt-designer中设计的界面。它将此接口放置到新创建的对话框中。所以你可以看到窗口中的所有控件。对我来说很容易。

答案 2 :(得分:2)

sets up内托管的qt ui xml文件ui described dialog window/qdialog