Russian Qt Forum
Апрель 16, 2024, 08:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по QWizard  (Прочитано 1541 раз)
dimanazer
Гость
« : Апрель 26, 2016, 15:18 »

Всем добрый день. Задание: есть 3 окна : в 1 вводиться имя, в 2 ставим значок(что выбрали) и в 3 ставим галочку где выбрали. И потом всю инфу которую выбрали выводим в отдельном окне. Я сделал часть задания. Но есть вопросы:
 1) у меня 3 окна , но прога показывает еще 4 окно пустое. как его убрать? И что за 4 окно?
 если я додаю только 3:
Код:
addPage(new ProjectNamePage);
    addPage(new ApplicationTypesPage);
    addPage(new AdditionalOptionsPage);
2)Если я ставлю галочку в empty project варианте то Precompiledheader должен стать не активный .
 и Exportsymbols всегда не активное. Как это сделать чтобы они были не активные?
3) Как мне сохранять всю инфу которую я выбрал чтобы вывести ее в другом окне?

 Спасибо за подсказки.
 Мой код:
Код:
#include "NewProjectWizard.h"
#include <QtGui>

NewProjectWizard::NewProjectWizard(QWidget* parent)
    : QWizard(parent)
{
    setWindowTitle(" Win32 Application Wizard");

    addPage(new ProjectNamePage);
    addPage(new ApplicationTypesPage);
    addPage(new AdditionalOptionsPage);
}

ProjectNamePage::ProjectNamePage(QWidget* parent)
    : QWizardPage(parent)
{
    mProjectNameLabel = new QLabel("&Project name:");
    mTextEdit = new QLineEdit;
    mProjectNameLabel->setBuddy(mTextEdit);

    QObject::connect(mTextEdit, SIGNAL(textChanged(const QStrings)),  mProjectNameLabel, SLOT(setText(const QStrings)));

    QVBoxLayout* layout = new QVBoxLayout;
    layout->addWidget(mProjectNameLabel);
    layout->addWidget(mTextEdit);

    setLayout(layout);
}

ApplicationTypesPage::ApplicationTypesPage(QWidget* parent)
    : QWizardPage(parent)
{
    setWindowTitle(" Win32 Application Wizard");
    setTitle("Application type:");

    mWinAppButton = new QRadioButton("&Windows application");
    mDLLButton = new QRadioButton("&DLL");
    mLibButton = new QRadioButton("&Static library");
    mConsoleAppButton = new QRadioButton("&Console application");
    mConsoleAppButton->setChecked(true);

    QVBoxLayout* layout = new QVBoxLayout;
    layout->addWidget(mWinAppButton);
    layout->addWidget(mConsoleAppButton);
    layout->addWidget(mDLLButton);
    layout->addWidget(mLibButton);

    setLayout(layout);
}

AdditionalOptionsPage::AdditionalOptionsPage(QWidget *parent)
    : QWizardPage(parent)
{
    setWindowTitle(" Win32 Application Wizard");
    setTitle("Additional options:");

    mEmptyProjectCheck = new QCheckBox("&Empty project");
    mExportSymbolsCheck = new QCheckBox("&Export symbols");

    mPCHCheck = new QCheckBox("&Precompiled header");
    mPCHCheck->setChecked(true);

    mSDLCheck = new QCheckBox("&Security Development Lifecycle (SDL) checks");
    mSDLCheck->setChecked(true);

    QVBoxLayout* layout = new QVBoxLayout;
    layout->addWidget(mEmptyProjectCheck);
    layout->addWidget(mExportSymbolsCheck);
    layout->addWidget(mPCHCheck);
    layout->addWidget(mSDLCheck);

    setLayout(layout);
}
Код:
#include "NewProjectWizard.h"
#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QString translatorFileName = QLatin1String("qt_");
    translatorFileName += QLocale::system().name();
    QTranslator *translator = new QTranslator(&app);
    if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
        app.installTranslator(translator);


    NewProjectWizard winApplication;
    winApplication.show();
    return app.exec();
}

Код:
#ifndef NEW_PROJECT_WIZARD_H
#define NEW_PROJECT_WIZARD_H

#include <QtWidgets>

class NewProjectWizard : public QWizard
{
    Q_OBJECT

public:
    NewProjectWizard(QWidget* parent = 0);
};

class ProjectNamePage : public QWizardPage
{
    Q_OBJECT
public:
    ProjectNamePage(QWidget* parent = 0);

private:
    QLabel* mProjectNameLabel;
    QLineEdit* mTextEdit;
};

class ApplicationTypesPage : public QWizardPage
{
    Q_OBJECT

public:
    ApplicationTypesPage(QWidget* parent = 0);

private:
    QGroupBox* mAppTypeGroupBox;
    QRadioButton* mWinAppButton;
    QRadioButton* mConsoleAppButton;
    QRadioButton* mDLLButton;
    QRadioButton* mLibButton;
};

class AdditionalOptionsPage : public QWizardPage
{
    Q_OBJECT

public:
    AdditionalOptionsPage(QWidget *parent = 0);

private:
    QGroupBox* mOptionsGroupBox;
    QCheckBox* mEmptyProjectCheck;
    QCheckBox* mExportSymbolsCheck;
    QCheckBox* mPCHCheck;
    QCheckBox* mSDLCheck;
};
#endif // NEW_PROJECT_WIZARD_H
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 20.