Ruslan Polupan
23 октября 2018 г. 0:58

QWizard. Создание в QtDesinger

QWizard, QtDesigner

Реально ли использовать мастер создания форм для разработки QWizard? Или проще основываясь на примерах из документации создавать формы программно?

Информации в сети ни нашел никакой по поводу QtDesinger и QWizard.

Буду очень благодарен если кто-то поделится.




3

Вам это нравится? Поделитесь в социальных сетях!

5
Arrow
  • 23 октября 2018 г. 1:13

Под программно имеется ввиду ручное написание кода С++?

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

Если в учебных целях для лучшего понимания работы, то тогда в ручную и с пустого проекта.

Насчёт QWizard. Там не так-то и много вариаций предлагается, посмотрите, что каждый из вариантов собой представляет и используйте если подходит :)


    Ruslan Polupan
    • 23 октября 2018 г. 1:15

    Дизайнером вроде удобно. кое что получается. Только во всех примерах его не используют :-)

      Arrow
      • 23 октября 2018 г. 1:21

      Проще привести в пример код, чем код + скриншот + описание настроек сделанных в дизайнере. Меньше места занимает и яснее (для примеров) :)

        Evgenii Legotckoi
        • 23 октября 2018 г. 2:07

        Я так думаю, что это возможно. Вам нужно будет создать Ui форму, а потом руками добавить её в качестве страницы в QWizard, например, или как там это делается ))), а потом каким-то образом получить доступ к её элементам, например через метод getUi . Мы на работе такое делаем в некоторых случаях.

        Я приводил пример такой ui формы вот в этом ответе , возможно, что это то, что вам нужно.

          Ruslan Polupan
          • 23 октября 2018 г. 15:35

          Создал в дизайнере формы QWizardPage

          В конструкторе прописал следующее:

          1. MyWizard::MyWizard(QWidget *parent) :
          2. QWizard(parent),
          3. ui(new Ui::MyWizard)
          4. {
          5. ui->setupUi(this);
          6. this->setPage(INTRO_PAGE, new IntroPage());
          7. this->setPage(TERMINALS_PAGE, new TerminalPage());
          8.  
          9.  
          10.  
          11. }

          А уж в конструкторе MainWindow:

          1. myWiz = new MyWizard(this);
          2. ui->verticalLayout->addWidget(myWiz);
          3. myWiz->show();

          Вроде работает.

          Буду ковыряться дальше




            Комментарии

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