Всем добрый день. Задание: есть 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