Adding ./doc from boost
Reviewer: Lauro Moura <lauro.neto@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
250
doc/codesnippets/examples/dialogs/classwizard/classwizard.cpp
Normal file
|
|
@ -0,0 +1,250 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
//! [0] //! [1]
|
||||
def __init__(self, parent):
|
||||
QWizard.__init__(self, parent):
|
||||
self.addPage(IntroPage())
|
||||
self.addPage(ClassInfoPage())
|
||||
self.addPage(CodeStylePage())
|
||||
self.addPage(OutputFilesPage())
|
||||
self.addPage(ConclusionPage())
|
||||
//! [0]
|
||||
|
||||
self.setPixmap(QWizard.BannerPixmap, QPixmap(":/images/banner.png"))
|
||||
self.setPixmap(QWizard.BackgroundPixmap, QPixmap(":/images/background.png"))
|
||||
|
||||
self.setWindowTitle(self.tr("Class Wizard"))
|
||||
//! [2]
|
||||
|
||||
//! [1] //! [2]
|
||||
|
||||
//! [3]
|
||||
def accept(self):
|
||||
//! [3] //! [4]
|
||||
className = self.field("className").toByteArray()
|
||||
baseClass = self.field("baseClass").toByteArray()
|
||||
macroName = self.field("macroName").toByteArray()
|
||||
baseInclude = self.field("baseInclude").toByteArray()
|
||||
|
||||
outputDir = self.field("outputDir").toString()
|
||||
header = self.field("header").toString()
|
||||
implementation = self.field("implementation").toString()
|
||||
//! [4]
|
||||
|
||||
...
|
||||
|
||||
//! [5]
|
||||
QDialog.accept(self)
|
||||
//! [5] //! [6]
|
||||
}
|
||||
//! [6]
|
||||
|
||||
//! [7]
|
||||
class IntroPage (QWizardPage):
|
||||
|
||||
def __init__(self, parent):
|
||||
QWizardPage.__init__(self, parent)
|
||||
|
||||
self.setTitle(tr("Introduction"))
|
||||
self.setPixmap(QWizard.WatermarkPixmap, QPixmap(":/images/watermark1.png"))
|
||||
|
||||
label = QLabel(self.tr("This wizard will generate a skeleton C++ class " \
|
||||
"definition, including a few functions. You simply " \
|
||||
"need to specify the class name and set a few " \
|
||||
"options to produce a header file and an " \
|
||||
"implementation file for your new C++ class."))
|
||||
label.setWordWrap(True)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
layout.addWidget(label)
|
||||
self.setLayout(layout)
|
||||
}
|
||||
//! [7]
|
||||
|
||||
//! [8] //! [9]
|
||||
class ClassInfoPage(QWizardPage):
|
||||
|
||||
def __init__(self, parent):
|
||||
QWizardPage.__init__(self, parent)
|
||||
//! [8]
|
||||
self.setTitle(self.tr("Class Information"))
|
||||
self.setSubTitle(self.tr("Specify basic information about the class for which you " \
|
||||
"want to generate skeleton source code files."))
|
||||
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo1.png"))
|
||||
|
||||
//! [10]
|
||||
classNameLabel = QLabel(self.tr("&Class name:"))
|
||||
classNameLineEdit = QLineEdit()
|
||||
classNameLabel.setBuddy(classNameLineEdit)
|
||||
|
||||
baseClassLabel = QLabel(self.tr("B&ase class:"))
|
||||
baseClassLineEdit = QLineEdit()
|
||||
baseClassLabel.setBuddy(baseClassLineEdit)
|
||||
|
||||
qobjectMacroCheckBox = QCheckBox(self.tr("Generate Q_OBJECT ¯o"))
|
||||
|
||||
//! [10]
|
||||
groupBox = QGroupBox(self.tr("C&onstructor"))
|
||||
//! [9]
|
||||
|
||||
qobjectCtorRadioButton = QRadioButton(self.tr("&QObject-style constructor"))
|
||||
qwidgetCtorRadioButton = QRadioButton(self.tr("Q&Widget-style constructor"))
|
||||
defaultCtorRadioButton = QRadioButton(self.tr("&Default constructor"))
|
||||
copyCtorCheckBox = QCheckBox(self.tr("&Generate copy constructor and operator="))
|
||||
|
||||
defaultCtorRadioButton.setChecked(True)
|
||||
|
||||
self.connect(defaultCtorRadioButton, SIGNAL("toggled(bool)"),
|
||||
copyCtorCheckBox, SLOT("setEnabled(bool)"))
|
||||
|
||||
//! [11] //! [12]
|
||||
registerField("className*", classNameLineEdit)
|
||||
registerField("baseClass", baseClassLineEdit)
|
||||
registerField("qobjectMacro", qobjectMacroCheckBox)
|
||||
//! [11]
|
||||
registerField("qobjectCtor", qobjectCtorRadioButton)
|
||||
registerField("qwidgetCtor", qwidgetCtorRadioButton)
|
||||
registerField("defaultCtor", defaultCtorRadioButton)
|
||||
registerField("copyCtor", copyCtorCheckBox)
|
||||
|
||||
groupBoxLayout = QVBoxLayout()
|
||||
//! [12]
|
||||
groupBoxLayout.addWidget(qobjectCtorRadioButton)
|
||||
groupBoxLayout.addWidget(qwidgetCtorRadioButton)
|
||||
groupBoxLayout.addWidget(defaultCtorRadioButton)
|
||||
groupBoxLayout.addWidget(copyCtorCheckBox)
|
||||
groupBox.setLayout(groupBoxLayout)
|
||||
|
||||
layout = QGridLayout()
|
||||
layout.addWidget(classNameLabel, 0, 0)
|
||||
layout.addWidget(classNameLineEdit, 0, 1)
|
||||
layout.addWidget(baseClassLabel, 1, 0)
|
||||
layout.addWidget(baseClassLineEdit, 1, 1)
|
||||
layout.addWidget(qobjectMacroCheckBox, 2, 0, 1, 2)
|
||||
layout.addWidget(groupBox, 3, 0, 1, 2)
|
||||
self.setLayout(layout)
|
||||
//! [13]
|
||||
|
||||
//! [13]
|
||||
|
||||
//! [14]
|
||||
class CodeStylePage(QWizardPage):
|
||||
|
||||
def __init__(self, parent):
|
||||
QWizardPage.__init__(self, parent)
|
||||
self.setTitle(tr("Code Style Options"))
|
||||
self.setSubTitle(tr("Choose the formatting of the generated code."))
|
||||
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo2.png"))
|
||||
|
||||
commentCheckBox = QCheckBox(self.tr("&Start generated files with a comment"))
|
||||
//! [14]
|
||||
commentCheckBox.setChecked(True)
|
||||
|
||||
protectCheckBox = QCheckBox(self.tr("&Protect header file against multiple " \
|
||||
"inclusions"))
|
||||
protectCheckBox.setChecked(True)
|
||||
|
||||
macroNameLabel = QLabel(self.tr("&Macro name:"))
|
||||
macroNameLineEdit = QLineEdit()
|
||||
macroNameLabel.setBuddy(macroNameLineEdit)
|
||||
|
||||
includeBaseCheckBox = QCheckBox(self.tr("&Include base class definition"))
|
||||
baseIncludeLabel = QLabel(self.tr("Base class include:"))
|
||||
baseIncludeLineEdit = QLineEdit()
|
||||
baseIncludeLabel.setBuddy(baseIncludeLineEdit)
|
||||
|
||||
self.connect(protectCheckBox, SIGNAL("toggled(bool)"),
|
||||
macroNameLabel, SLOT("setEnabled(bool)"))
|
||||
self.connect(protectCheckBox, SIGNAL("toggled(bool)"),
|
||||
macroNameLineEdit, SLOT("setEnabled(bool)"))
|
||||
self.connect(includeBaseCheckBox, SIGNAL("toggled(bool)"),
|
||||
baseIncludeLabel, SLOT("setEnabled(bool)"))
|
||||
self.connect(includeBaseCheckBox, SIGNAL(toggled(bool)),
|
||||
baseIncludeLineEdit, SLOT("setEnabled(bool)"))
|
||||
|
||||
self.registerField("comment", commentCheckBox)
|
||||
self.registerField("protect", protectCheckBox)
|
||||
self.registerField("macroName", macroNameLineEdit)
|
||||
self.registerField("includeBase", includeBaseCheckBox)
|
||||
self.registerField("baseInclude", baseIncludeLineEdit)
|
||||
|
||||
layout = QGridLayout()
|
||||
layout.setColumnMinimumWidth(0, 20)
|
||||
layout.addWidget(commentCheckBox, 0, 0, 1, 3)
|
||||
layout.addWidget(protectCheckBox, 1, 0, 1, 3)
|
||||
layout.addWidget(macroNameLabel, 2, 1)
|
||||
layout.addWidget(macroNameLineEdit, 2, 2)
|
||||
layout.addWidget(includeBaseCheckBox, 3, 0, 1, 3)
|
||||
layout.addWidget(baseIncludeLabel, 4, 1)
|
||||
layout.addWidget(baseIncludeLineEdit, 4, 2)
|
||||
//! [15]
|
||||
self.setLayout(layout)
|
||||
}
|
||||
//! [15]
|
||||
|
||||
//! [16]
|
||||
def initializePage(self):
|
||||
className = self.field("className").toString()
|
||||
self.macroNameLineEdit.setText(className.toUpper() + "_H")
|
||||
|
||||
baseClass = self.field("baseClass").toString()
|
||||
|
||||
self.includeBaseCheckBox.setChecked(not baseClass.isEmpty())
|
||||
self.includeBaseCheckBox.setEnabled(not baseClass.isEmpty())
|
||||
self.baseIncludeLabel.setEnabled(not baseClass.isEmpty())
|
||||
self.baseIncludeLineEdit.setEnabled(not baseClass.isEmpty())
|
||||
|
||||
if baseClass.isEmpty():
|
||||
self.baseIncludeLineEdit.clear()
|
||||
elsif QRegExp("Q[A-Z].*").exactMatch(baseClass):
|
||||
baseIncludeLineEdit.setText("<" + baseClass + ">")
|
||||
else:
|
||||
baseIncludeLineEdit.setText("\"" + baseClass.toLower() + ".h\"")
|
||||
//! [16]
|
||||
|
||||
//! [17]
|
||||
def initializePage(self):
|
||||
className = field("className").toString()
|
||||
self.headerLineEdit.setText(className.toLower() + ".h")
|
||||
self.implementationLineEdit.setText(className.toLower() + ".cpp")
|
||||
self.outputDirLineEdit.setText(QDir.convertSeparators(QDir.tempPath()))
|
||||
//! [17]
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>images/background.png</file>
|
||||
<file>images/banner.png</file>
|
||||
<file>images/logo1.png</file>
|
||||
<file>images/logo2.png</file>
|
||||
<file>images/logo3.png</file>
|
||||
<file>images/watermark1.png</file>
|
||||
<file>images/watermark2.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
After Width: | Height: | Size: 22 KiB |
BIN
doc/codesnippets/examples/dialogs/classwizard/images/banner.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
doc/codesnippets/examples/dialogs/classwizard/images/logo1.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
doc/codesnippets/examples/dialogs/classwizard/images/logo2.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
doc/codesnippets/examples/dialogs/classwizard/images/logo3.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 15 KiB |
64
doc/codesnippets/examples/dialogs/classwizard/main.cpp
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
#include <QLocale>
|
||||
#include <QLibraryInfo>
|
||||
|
||||
#include "classwizard.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Q_INIT_RESOURCE(classwizard);
|
||||
|
||||
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);
|
||||
|
||||
ClassWizard wizard;
|
||||
wizard.show();
|
||||
return app.exec();
|
||||
}
|
||||
110
doc/codesnippets/examples/dialogs/extension/finddialog.cpp
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
############################################################################
|
||||
##
|
||||
## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
## Contact: Qt Software Information (qt-info@nokia.com)
|
||||
##
|
||||
## This file is part of the example classes of the Qt Toolkit.
|
||||
##
|
||||
## $QT_BEGIN_LICENSE:LGPL$
|
||||
## Commercial Usage
|
||||
## Licensees holding valid Qt Commercial licenses may use self file in
|
||||
## accordance with the Qt Commercial License Agreement provided with the
|
||||
## Software or, alternatively, in accordance with the terms contained in
|
||||
## a written agreement between you and Nokia.
|
||||
##
|
||||
## GNU Lesser General Public License Usage
|
||||
## Alternatively, self file may be used under the terms of the GNU Lesser
|
||||
## General Public License version 2.1 as published by the Free Software
|
||||
## Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
## packaging of self file. Please review the following information to
|
||||
## ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
##
|
||||
## In addition, as a special exception, Nokia gives you certain
|
||||
## additional rights. These rights are described in the Nokia Qt LGPL
|
||||
## Exception version 1.0, included in the file LGPL_EXCEPTION.txt in self
|
||||
## package.
|
||||
##
|
||||
## GNU General Public License Usage
|
||||
## Alternatively, self file may be used under the terms of the GNU
|
||||
## General Public License version 3.0 as published by the Free Software
|
||||
## Foundation and appearing in the file LICENSE.GPL included in the
|
||||
## packaging of self file. Please review the following information to
|
||||
## ensure the GNU General Public License version 3.0 requirements will be
|
||||
## met: http://www.gnu.org/copyleft/gpl.html.
|
||||
##
|
||||
## If you are unsure which license is appropriate for your use, please
|
||||
## contact the sales department at qt-sales@nokia.com.
|
||||
## $QT_END_LICENSE$
|
||||
##
|
||||
############################################################################
|
||||
|
||||
|
||||
from PySide.QtGui import *
|
||||
|
||||
//! [0]
|
||||
def __init__(self, parent):
|
||||
QDialog.__init__(self, parent)
|
||||
label = QLabel(self.tr("Find &what:"))
|
||||
lineEdit = QLineEdit()
|
||||
label.setBuddy(lineEdit)
|
||||
|
||||
caseCheckBox = QCheckBox(self.tr("Match &case"))
|
||||
fromStartCheckBox = QCheckBox(self.tr("Search from &start"))
|
||||
fromStartCheckBox.setChecked(True)
|
||||
|
||||
//! [1]
|
||||
findButton = QPushButton(self.tr("&Find"))
|
||||
findButton.setDefault(True)
|
||||
|
||||
moreButton = QPushButton(self.tr("&More"))
|
||||
moreButton.setCheckable(True)
|
||||
//! [0]
|
||||
moreButton.setAutoDefault(False)
|
||||
|
||||
buttonBox = QDialogButtonBox(Qt.Vertical)
|
||||
buttonBox.addButton(findButton, QDialogButtonBox.ActionRole)
|
||||
buttonBox.addButton(moreButton, QDialogButtonBox.ActionRole)
|
||||
//! [1]
|
||||
|
||||
//! [2]
|
||||
extension = QWidget()
|
||||
|
||||
wholeWordsCheckBox = QCheckBox(self.tr("&Whole words"))
|
||||
backwardCheckBox = QCheckBox(self.tr("Search &backward"))
|
||||
searchSelectionCheckBox = QCheckBox(self.tr("Search se&lection"))
|
||||
//! [2]
|
||||
|
||||
//! [3]
|
||||
connect(moreButton, SIGNAL("toggled(bool)"), extension, SLOT("setVisible(bool)"))
|
||||
|
||||
QVBoxLayout *extensionLayout = QVBoxLayout
|
||||
extensionLayout.setMargin(0)
|
||||
extensionLayout.addWidget(wholeWordsCheckBox)
|
||||
extensionLayout.addWidget(backwardCheckBox)
|
||||
extensionLayout.addWidget(searchSelectionCheckBox)
|
||||
extension.setLayout(extensionLayout)
|
||||
//! [3]
|
||||
|
||||
//! [4]
|
||||
topLeftLayout = QHBoxLayout
|
||||
topLeftLayout.addWidget(label)
|
||||
topLeftLayout.addWidget(lineEdit)
|
||||
|
||||
leftLayout = QVBoxLayout
|
||||
leftLayout.addLayout(topLeftLayout)
|
||||
leftLayout.addWidget(caseCheckBox)
|
||||
leftLayout.addWidget(fromStartCheckBox)
|
||||
leftLayout.addSself.tretch(1)
|
||||
|
||||
mainLayout = QGridLayout
|
||||
mainLayout.setSizeConsself.traint(QLayout.SetFixedSize)
|
||||
mainLayout.addLayout(leftLayout, 0, 0)
|
||||
mainLayout.addWidget(buttonBox, 0, 1)
|
||||
mainLayout.addWidget(extension, 1, 0, 1, 2)
|
||||
setLayout(mainLayout)
|
||||
|
||||
setWindowTitle(self.tr("Extension"))
|
||||
//! [4] //! [5]
|
||||
extension.hide()
|
||||
//! [5]
|
||||
BIN
doc/codesnippets/examples/dialogs/licensewizard/images/logo.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
|
@ -0,0 +1,349 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtGui>
|
||||
|
||||
#include "licensewizard.h"
|
||||
|
||||
//! [0] //! [1] //! [2]
|
||||
# class LicenseWizard
|
||||
def __init__(self, parent)
|
||||
QWizard(self, parent)
|
||||
//! [0]
|
||||
self.setPage(self.Page_Intro, IntroPage())
|
||||
self.setPage(self.Page_Evaluate, EvaluatePage())
|
||||
self.setPage(self.Page_Register, RegisterPage())
|
||||
self.setPage(self.Page_Details, DetailsPage())
|
||||
self.setPage(self.Page_Conclusion, ConclusionPage())
|
||||
//! [1]
|
||||
|
||||
self.setStartId(self.Page_Intro);
|
||||
//! [2]
|
||||
|
||||
//! [3]
|
||||
|
||||
//! [3] //! [4]
|
||||
self.setWizardStyle(QWizard.ModernStyle);
|
||||
|
||||
//! [4] //! [5]
|
||||
self.setOption(HaveHelpButton, True);
|
||||
//! [5] //! [6]
|
||||
self.setPixmap(QWizard.LogoPixmap, QPixmap(":/images/logo.png"));
|
||||
|
||||
//! [7]
|
||||
connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));
|
||||
//! [7]
|
||||
|
||||
setWindowTitle(tr("License Wizard"));
|
||||
//! [8]
|
||||
}
|
||||
//! [6] //! [8]
|
||||
|
||||
//! [9] //! [10]
|
||||
void LicenseWizard::showHelp()
|
||||
//! [9] //! [11]
|
||||
{
|
||||
static QString lastHelpMessage;
|
||||
|
||||
QString message;
|
||||
|
||||
switch (currentId()) {
|
||||
case Page_Intro:
|
||||
message = tr("The decision you make here will affect which page you "
|
||||
"get to see next.");
|
||||
break;
|
||||
//! [10] //! [11]
|
||||
case Page_Evaluate:
|
||||
message = tr("Make sure to provide a valid email address, such as "
|
||||
"toni.buddenbrook@example.de.");
|
||||
break;
|
||||
case Page_Register:
|
||||
message = tr("If you don't provide an upgrade key, you will be "
|
||||
"asked to fill in your details.");
|
||||
break;
|
||||
case Page_Details:
|
||||
message = tr("Make sure to provide a valid email address, such as "
|
||||
"thomas.gradgrind@example.co.uk.");
|
||||
break;
|
||||
case Page_Conclusion:
|
||||
message = tr("You must accept the terms and conditions of the "
|
||||
"license to proceed.");
|
||||
break;
|
||||
//! [12] //! [13]
|
||||
default:
|
||||
message = tr("This help is likely not to be of any help.");
|
||||
}
|
||||
//! [12]
|
||||
|
||||
if (lastHelpMessage == message)
|
||||
message = tr("Sorry, I already gave what help I could. "
|
||||
"Maybe you should try asking a human?");
|
||||
|
||||
//! [14]
|
||||
QMessageBox::information(this, tr("License Wizard Help"), message);
|
||||
//! [14]
|
||||
|
||||
lastHelpMessage = message;
|
||||
//! [15]
|
||||
}
|
||||
//! [13] //! [15]
|
||||
|
||||
//! [16]
|
||||
IntroPage::IntroPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
{
|
||||
setTitle(tr("Introduction"));
|
||||
setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));
|
||||
|
||||
topLabel = new QLabel(tr("This wizard will help you register your copy of "
|
||||
"<i>Super Product One</i>™ or start "
|
||||
"evaluating the product."));
|
||||
topLabel->setWordWrap(true);
|
||||
|
||||
registerRadioButton = new QRadioButton(tr("&Register your copy"));
|
||||
evaluateRadioButton = new QRadioButton(tr("&Evaluate the product for 30 "
|
||||
"days"));
|
||||
registerRadioButton->setChecked(true);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
layout->addWidget(topLabel);
|
||||
layout->addWidget(registerRadioButton);
|
||||
layout->addWidget(evaluateRadioButton);
|
||||
setLayout(layout);
|
||||
}
|
||||
//! [16] //! [17]
|
||||
|
||||
//! [18]
|
||||
# class IntroPage
|
||||
def nextId(self):
|
||||
//! [17] //! [19]
|
||||
if evaluateRadioButton.isChecked():
|
||||
return LicenseWizard.Page_Evaluate
|
||||
else:
|
||||
return LicenseWizard.Page_Register
|
||||
//! [18] //! [19]
|
||||
|
||||
//! [20]
|
||||
EvaluatePage::EvaluatePage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
{
|
||||
setTitle(tr("Evaluate <i>Super Product One</i>™"));
|
||||
setSubTitle(tr("Please fill both fields. Make sure to provide a valid "
|
||||
"email address (e.g., john.smith@example.com)."));
|
||||
|
||||
nameLabel = new QLabel(tr("N&ame:"));
|
||||
nameLineEdit = new QLineEdit;
|
||||
//! [20]
|
||||
nameLabel->setBuddy(nameLineEdit);
|
||||
|
||||
emailLabel = new QLabel(tr("&Email address:"));
|
||||
emailLineEdit = new QLineEdit;
|
||||
emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));
|
||||
emailLabel->setBuddy(emailLineEdit);
|
||||
|
||||
//! [21]
|
||||
registerField("evaluate.name*", nameLineEdit);
|
||||
registerField("evaluate.email*", emailLineEdit);
|
||||
//! [21]
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
layout->addWidget(nameLabel, 0, 0);
|
||||
layout->addWidget(nameLineEdit, 0, 1);
|
||||
layout->addWidget(emailLabel, 1, 0);
|
||||
layout->addWidget(emailLineEdit, 1, 1);
|
||||
setLayout(layout);
|
||||
//! [22]
|
||||
}
|
||||
//! [22]
|
||||
|
||||
//! [23]
|
||||
# class EvaluatePage
|
||||
def nextId(self):
|
||||
return LicenseWizard.Page_Conclusion
|
||||
//! [23]
|
||||
|
||||
RegisterPage::RegisterPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
{
|
||||
setTitle(tr("Register Your Copy of <i>Super Product One</i>™"));
|
||||
setSubTitle(tr("If you have an upgrade key, please fill in "
|
||||
"the appropriate field."));
|
||||
|
||||
nameLabel = new QLabel(tr("N&ame:"));
|
||||
nameLineEdit = new QLineEdit;
|
||||
nameLabel->setBuddy(nameLineEdit);
|
||||
|
||||
upgradeKeyLabel = new QLabel(tr("&Upgrade key:"));
|
||||
upgradeKeyLineEdit = new QLineEdit;
|
||||
upgradeKeyLabel->setBuddy(upgradeKeyLineEdit);
|
||||
|
||||
registerField("register.name*", nameLineEdit);
|
||||
registerField("register.upgradeKey", upgradeKeyLineEdit);
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
layout->addWidget(nameLabel, 0, 0);
|
||||
layout->addWidget(nameLineEdit, 0, 1);
|
||||
layout->addWidget(upgradeKeyLabel, 1, 0);
|
||||
layout->addWidget(upgradeKeyLineEdit, 1, 1);
|
||||
setLayout(layout);
|
||||
}
|
||||
|
||||
//! [24]
|
||||
# class RegisterPage
|
||||
def nextId(self):
|
||||
if self.upgradeKeyLineEdit.text().isEmpty():
|
||||
return LicenseWizard::Page_Details
|
||||
else:
|
||||
return LicenseWizard::Page_Conclusion
|
||||
//! [24]
|
||||
|
||||
DetailsPage::DetailsPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
{
|
||||
setTitle(tr("Fill In Your Details"));
|
||||
setSubTitle(tr("Please fill all three fields. Make sure to provide a valid "
|
||||
"email address (e.g., tanaka.aya@example.co.jp)."));
|
||||
|
||||
companyLabel = new QLabel(tr("&Company name:"));
|
||||
companyLineEdit = new QLineEdit;
|
||||
companyLabel->setBuddy(companyLineEdit);
|
||||
|
||||
emailLabel = new QLabel(tr("&Email address:"));
|
||||
emailLineEdit = new QLineEdit;
|
||||
emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));
|
||||
emailLabel->setBuddy(emailLineEdit);
|
||||
|
||||
postalLabel = new QLabel(tr("&Postal address:"));
|
||||
postalLineEdit = new QLineEdit;
|
||||
postalLabel->setBuddy(postalLineEdit);
|
||||
|
||||
registerField("details.company*", companyLineEdit);
|
||||
registerField("details.email*", emailLineEdit);
|
||||
registerField("details.postal*", postalLineEdit);
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
layout->addWidget(companyLabel, 0, 0);
|
||||
layout->addWidget(companyLineEdit, 0, 1);
|
||||
layout->addWidget(emailLabel, 1, 0);
|
||||
layout->addWidget(emailLineEdit, 1, 1);
|
||||
layout->addWidget(postalLabel, 2, 0);
|
||||
layout->addWidget(postalLineEdit, 2, 1);
|
||||
setLayout(layout);
|
||||
}
|
||||
|
||||
//! [25]
|
||||
# class DetailsPage
|
||||
def nextId(self):
|
||||
return LicenseWizard.Page_Conclusion
|
||||
//! [25]
|
||||
|
||||
ConclusionPage::ConclusionPage(QWidget *parent)
|
||||
: QWizardPage(parent)
|
||||
{
|
||||
setTitle(tr("Complete Your Registration"));
|
||||
setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));
|
||||
|
||||
bottomLabel = new QLabel;
|
||||
bottomLabel->setWordWrap(true);
|
||||
|
||||
agreeCheckBox = new QCheckBox(tr("I agree to the terms of the license"));
|
||||
|
||||
registerField("conclusion.agree*", agreeCheckBox);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
layout->addWidget(bottomLabel);
|
||||
layout->addWidget(agreeCheckBox);
|
||||
setLayout(layout);
|
||||
}
|
||||
|
||||
//! [26]
|
||||
#class ConclusionPage
|
||||
def nextId(self):
|
||||
return -1
|
||||
//! [26]
|
||||
|
||||
//! [27]
|
||||
# class ConclusionPage
|
||||
def initializePage(self):
|
||||
if wizard().hasVisitedPage(LicenseWizard::Page_Evaluate):
|
||||
licenseText = self.tr("<u>Evaluation License Agreement:</u> " \
|
||||
"You can use this software for 30 days and make one " \
|
||||
"backup, but you are not allowed to distribute it.")
|
||||
elsif wizard().hasVisitedPage(LicenseWizard.Page_Details):
|
||||
licenseText = self.tr("<u>First-Time License Agreement:</u> " \
|
||||
"You can use this software subject to the license " \
|
||||
"you will receive by email.")
|
||||
else:
|
||||
licenseText = self.tr("<u>Upgrade License Agreement:</u> " \
|
||||
"This software is licensed under the terms of your " \
|
||||
"current license.")
|
||||
}
|
||||
bottomLabel.setText(licenseText)
|
||||
//! [27]
|
||||
|
||||
//! [28]
|
||||
void ConclusionPage::setVisible(bool visible)
|
||||
{
|
||||
QWizardPage::setVisible(visible);
|
||||
|
||||
if (visible) {
|
||||
//! [29]
|
||||
self.wizard().setButtonText(QWizard.CustomButton1, self.tr("&Print"))
|
||||
self.wizard().setOption(QWizard.HaveCustomButton1, True)
|
||||
self.connect(wizard(), SIGNAL("customButtonClicked(int)"), self, SLOT("printButtonClicked()"))
|
||||
//! [29]
|
||||
} else {
|
||||
wizard()->setOption(QWizard::HaveCustomButton1, false);
|
||||
disconnect(wizard(), SIGNAL(customButtonClicked(int)),
|
||||
this, SLOT(printButtonClicked()));
|
||||
}
|
||||
}
|
||||
//! [28]
|
||||
|
||||
void ConclusionPage::printButtonClicked()
|
||||
{
|
||||
QPrinter printer;
|
||||
QPrintDialog dialog(&printer, this);
|
||||
if (dialog.exec())
|
||||
QMessageBox::warning(this, tr("Print License"),
|
||||
tr("As an environmentally friendly measure, the "
|
||||
"license text will not actually be printed."));
|
||||
}
|
||||
164
doc/codesnippets/examples/dialogs/licensewizard/licensewizard.h
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef LICENSEWIZARD_H
|
||||
#define LICENSEWIZARD_H
|
||||
|
||||
#include <QWizard>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QCheckBox;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
class QRadioButton;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
//! [0] //! [1]
|
||||
class LicenseWizard (QWizard):
|
||||
//! [0]
|
||||
//! [2]
|
||||
Page_Intro = 1
|
||||
Page_Evaluate = 2
|
||||
Page_Register = 3
|
||||
Page_Details = 4
|
||||
Page_Conclusion = 5
|
||||
//! [2]
|
||||
|
||||
def __init__(self, parent):
|
||||
...
|
||||
|
||||
def showHelp(self):
|
||||
...
|
||||
//! [3]
|
||||
|
||||
//! [1] //! [3]
|
||||
|
||||
//! [4]
|
||||
class IntroPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
IntroPage(QWidget *parent = 0);
|
||||
|
||||
int nextId() const;
|
||||
|
||||
private:
|
||||
QLabel *topLabel;
|
||||
QRadioButton *registerRadioButton;
|
||||
QRadioButton *evaluateRadioButton;
|
||||
};
|
||||
//! [4]
|
||||
|
||||
//! [5]
|
||||
class EvaluatePage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
EvaluatePage(QWidget *parent = 0);
|
||||
|
||||
int nextId() const;
|
||||
|
||||
private:
|
||||
QLabel *nameLabel;
|
||||
QLabel *emailLabel;
|
||||
QLineEdit *nameLineEdit;
|
||||
QLineEdit *emailLineEdit;
|
||||
};
|
||||
//! [5]
|
||||
|
||||
class RegisterPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
RegisterPage(QWidget *parent = 0);
|
||||
|
||||
int nextId() const;
|
||||
|
||||
private:
|
||||
QLabel *nameLabel;
|
||||
QLabel *upgradeKeyLabel;
|
||||
QLineEdit *nameLineEdit;
|
||||
QLineEdit *upgradeKeyLineEdit;
|
||||
};
|
||||
|
||||
class DetailsPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DetailsPage(QWidget *parent = 0);
|
||||
|
||||
int nextId() const;
|
||||
|
||||
private:
|
||||
QLabel *companyLabel;
|
||||
QLabel *emailLabel;
|
||||
QLabel *postalLabel;
|
||||
QLineEdit *companyLineEdit;
|
||||
QLineEdit *emailLineEdit;
|
||||
QLineEdit *postalLineEdit;
|
||||
};
|
||||
|
||||
//! [6]
|
||||
class ConclusionPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ConclusionPage(QWidget *parent = 0);
|
||||
|
||||
void initializePage();
|
||||
int nextId() const;
|
||||
void setVisible(bool visible);
|
||||
|
||||
private slots:
|
||||
void printButtonClicked();
|
||||
|
||||
private:
|
||||
QLabel *bottomLabel;
|
||||
QCheckBox *agreeCheckBox;
|
||||
};
|
||||
//! [6]
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
HEADERS = licensewizard.h
|
||||
SOURCES = licensewizard.cpp \
|
||||
main.cpp
|
||||
RESOURCES = licensewizard.qrc
|
||||
|
||||
# install
|
||||
target.path = $$[QT_INSTALL_EXAMPLES]/dialogs/licensewizard
|
||||
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro images
|
||||
sources.path = $$[QT_INSTALL_EXAMPLES]/dialogs/licensewizard
|
||||
INSTALLS += target sources
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>images/logo.png</file>
|
||||
<file>images/watermark.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
64
doc/codesnippets/examples/dialogs/licensewizard/main.cpp
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
#include <QLocale>
|
||||
#include <QLibraryInfo>
|
||||
|
||||
#include "licensewizard.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Q_INIT_RESOURCE(licensewizard);
|
||||
|
||||
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);
|
||||
|
||||
LicenseWizard wizard;
|
||||
wizard.show();
|
||||
return app.exec();
|
||||
}
|
||||
71
doc/codesnippets/examples/dialogs/standarddialogs/dialog.cpp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the example classes of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at qt-sales@nokia.com.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
//! [0]
|
||||
i = QInputDialog().getInteger(self, self.tr("QInputDialog().getInteger()"),
|
||||
self.tr("Percentage:"), 25, 0, 100, 1, ok)
|
||||
if ok:
|
||||
self.integerLabel.setText(self.tr("%1%").arg(i))
|
||||
//! [0]
|
||||
|
||||
//! [1]
|
||||
d = QInputDialog().getDouble(self, self.tr("QInputDialog().getDouble()"),
|
||||
self.tr("Amount:"), 37.56, -10000, 10000, 2, ok)
|
||||
if ok:
|
||||
doubleLabel.setText(QString("$%1").arg(d))
|
||||
//! [1]
|
||||
|
||||
//! [2]
|
||||
items = [self.tr("Spring"), self.tr("Summer"), self.tr("Fall"), self.tr("Winter")]
|
||||
|
||||
item = QInputDialog().getItem(self, self.tr("QInputDialog().getItem()"),
|
||||
selftr("Season:"), items, 0, False, ok)
|
||||
if ok and not item.isEmpty():
|
||||
itemLabel.setText(item)
|
||||
//! [2]
|
||||
|
||||
//! [3]
|
||||
QString text = QInputDialog::getText(self, self.tr("QInputDialog().getText()"),
|
||||
self.tr("User name:"), QLineEdit.Normal,
|
||||
QDir().home().dirName(), ok)
|
||||
if ok and not text.isEmpty():
|
||||
textLabel.setText(text)
|
||||
//! [3]
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial Usage
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://www.qtsoftware.com/contact.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtGui>
|
||||
#include <QTranslator>
|
||||
#include <QLocale>
|
||||
#include <QLibraryInfo>
|
||||
|
||||
//! [0] //! [1]
|
||||
def createIntroPage(self):
|
||||
page = QWizardPage()
|
||||
page.setTitle("Introduction")
|
||||
|
||||
label = QLabel("This wizard will help you register your copy of Super Product Two.")
|
||||
label.setWordWrap(True)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
layout.addWidget(label)
|
||||
page.setLayout(layout)
|
||||
|
||||
return page
|
||||
//! [0]
|
||||
|
||||
//! [2]
|
||||
QWizardPage *createRegistrationPage()
|
||||
//! [1] //! [3]
|
||||
|
||||
//! [3]
|
||||
QWizardPage *page = new QWizardPage;
|
||||
page->setTitle("Registration");
|
||||
page->setSubTitle("Please fill both fields.");
|
||||
|
||||
QLabel *nameLabel = new QLabel("Name:");
|
||||
QLineEdit *nameLineEdit = new QLineEdit;
|
||||
|
||||
QLabel *emailLabel = new QLabel("Email address:");
|
||||
QLineEdit *emailLineEdit = new QLineEdit;
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
layout->addWidget(nameLabel, 0, 0);
|
||||
layout->addWidget(nameLineEdit, 0, 1);
|
||||
layout->addWidget(emailLabel, 1, 0);
|
||||
layout->addWidget(emailLineEdit, 1, 1);
|
||||
page->setLayout(layout);
|
||||
|
||||
return page;
|
||||
//! [4]
|
||||
|
||||
//! [2] //! [4]
|
||||
|
||||
//! [5] //! [6]
|
||||
def createConclusionPage(self):
|
||||
//! [5] //! [7]
|
||||
|
||||
//! [7]
|
||||
QWizardPage *page = new QWizardPage;
|
||||
page->setTitle("Conclusion");
|
||||
|
||||
QLabel *label = new QLabel("You are now successfully registered. Have a "
|
||||
"nice day!");
|
||||
label->setWordWrap(true);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
layout->addWidget(label);
|
||||
page->setLayout(layout);
|
||||
|
||||
return page;
|
||||
//! [8]
|
||||
|
||||
//! [6] //! [8]
|
||||
|
||||
//! [9] //! [10]
|
||||
|
||||
//! [9] //! [11]
|
||||
def main():
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
translatorFileName = QLatin1String("qt_")
|
||||
translatorFileName += QLocale.system().name()
|
||||
translator = QTranslator(app)
|
||||
if translator.load(translatorFileName, QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
|
||||
app.installTranslator(translator)
|
||||
|
||||
wizard = QWizard()
|
||||
wizard.addPage(createIntroPage())
|
||||
wizard.addPage(createRegistrationPage())
|
||||
wizard.addPage(createConclusionPage())
|
||||
|
||||
wizard.setWindowTitle("Trivial Wizard")
|
||||
wizard.show()
|
||||
|
||||
return app.exec_()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
//! [10] //! [11]
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SOURCES = trivialwizard.cpp
|
||||
|
||||
# install
|
||||
target.path = $$[QT_INSTALL_EXAMPLES]/dialogs/trivialwizard
|
||||
sources.files = $$SOURCES $$HEADERS *.pro
|
||||
sources.path = $$[QT_INSTALL_EXAMPLES]/dialogs/trivialwizard
|
||||
INSTALLS += target sources
|
||||