2. Создание диалогового приложения

Помечено: , ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 11 мес., 3 нед. назад.

  • Автор
    Сообщения
  • #4814
    @admin

    Большинство программ с графическим интерфейсом имеют главное окно, полосу меню, панель инструментов, и множество диалоговых окон, каждое из которых предназначено для обмена информацией с пользователем или вывода ее в определенном формате. Приложение может быть оформлено как одно диалоговое окно, которое напрямую взаимодействует с пользователем, получая от него команды и выполняя соответствующие им действия. Такие приложения называются диалоговыми приложениями. 

    1. Для начала необходимо запустить QtCreator и создать приложение Qt Widgets.
    2. В заголовочном файле определите класс MyDialog, унаследованный от QDialog:
      #include <QDialog>
      class MyDialog : public QDialog
      {
          Q_OBJECT
      public:
          explicit MyDialog(QWidget *parent = 0);
      //...
    3. В файле main.cpp создайте виджет класса MyDialog:
      int main(int argc, char *argv[])
      {
          QApplication a(argc, argv);
          MyDialog dg;
          dg.show();
      
          return a.exec();
      }
    4. В конструкторе класса MyDialog установите заголовок диалога «Анкета» и создайте виджеты QSpinBox и QTextEdit:
      MyDialog::MyDialog(QWidget *parent) : QDialog(parent)
      {
          setWindowTitle("Анкета");
          QSpinBox *sBox = new QSpinBox;
          QTextEdit *tEdit = new QTextEdit;
    5. 5. Там же создайте менеджер компоновки и разместите в нем созданные виджеты. Установите менеджер компоновки для диалога:
      QHBoxLayout *Hlay = new QHBoxLayout;
      Hlay->addWidget(sBox);
      Hlay->addWidget(tEdit);
      dg.setLayout(Hlay);

      Не забудьте добавить библиотеки:
      #include <QSpinBox>
      #include <QTextEdit>
      #include <QHBoxLayout>

      Вот что должно получиться:
    6. Таким же образом добавьте виджеты QComboBox со списком из трех значений и QPushButton «Сохранить».
    7. Соедините сигнал нажатия кнопки (назовем её But) со слотом Wrf():
      QObject::connect(But, SIGNAL(clicked()), this, SLOT(Wrf()));
    8. Создайте слот Wrf(), в котором происходит сохранение всех данных из диалога в заданный текстовый файл. Для этого понадобятся библиотеки:
      #include <QFile>
      #include<QIODevice>
      #include<QTextStream>

Для ответа в этой теме необходимо авторизоваться.