На этом шаге рассмотрим создание файла main.cpp.
Создайте файл main.cpp в том же каталоге gotocell, где ранее сохранили форму, созданную на предыдущем шаге.
#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(); }
Теперь выполните команду qmake для создания файла с расширением .pro (добавляем строку QT +=widgets в файл проекта) и затем создайте файл makefile (qmake -project). Выполните компиляцию файлов проекта (mingw32-make -f Makefile.Debug).
Программа qmake обнаружит файл пользовательского интерфейса gotocelldialog.ui и сгенерирует соответствующие команды для вызова uic - компилятора пользовательского интерфейса, входящего в состав средств разработки Qt. Компилятор uic преобразует gotocelldialog.ui в инструкции C++ и помещает результат в ui_gotocelldialog.h.
Полученный файл ui_gotocelldialog.h содержит определение класса Ui_GoToCellDialog, который содержит инструкции C++, эквивалентные файлу gotocelldialog.ui. В этом классе объявляются переменные-члены, в которых содержатся дочерние виджеты и менеджеры компоновки формы, а также функция setupUi(), которая инициализирует форму. Сгенерированный класс выглядит следующим образом:
class Ui_GoToCellDialog { public: QLabel *label; QLineEdit *lineEdit; QSpacerItem *horizontalSpacer; QPushButton *okButton; QPushButton *cancelButton; ... void setupUi(QWidget *GoToCellDialog) { ... } };
Сгенерированный класс не имеет никакого базового класса. При использовании формы в main.срр мы создаем QDialog и передаем его функции setupUi().
Если вы станете выполнять программу в данный момент, она будет работать, но не совсем так, как требуется:
Правильную работу диалогового окна мы можем обеспечить, написав некоторый программный код.
На следующем шаге рассмотрим создание файла с именем gotocelldialog.h.