Проектирование диалоговых окон в Qt Designer. Создание файла main.cpp

   
На этом шаге рассмотрим создание файла 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().

   
Если вы станете выполнять программу в данный момент, она будет работать,
но не совсем так, как требуется:

  • кнопка ОК всегда будет в неактивном состоянии;
  • кнопка Cancel не выполняет никаких действий;
  • поле редактирования будет принимать любой текст, а оно должно принимать
    только допустимое обозначение ячейки.

   
Правильную работу диалогового окна мы можем обеспечить, написав некоторый программный код.

   
На следующем шаге рассмотрим создание файла с именем gotocelldialog.h.

Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий