<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>licensewizard.cpp Example File | Qt Widgets 5.9</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.9</td><td ><a href="qtwidgets-index.html">Qt Widgets</a></td><td ><a href="qtwidgets-dialogs-licensewizard-example.html">License Wizard Example</a></td><td >licensewizard.cpp Example File</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">licensewizard.cpp Example File</h1> <span class="subtitle">dialogs/licensewizard/licensewizard.cpp</span> <!-- $$$dialogs/licensewizard/licensewizard.cpp-description --> <div class="descr"> <a name="details"></a> <pre class="cpp"> <span class="comment">/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/</span> <span class="preprocessor">#include <QtWidgets></span> <span class="preprocessor">#if defined(QT_PRINTSUPPORT_LIB)</span> <span class="preprocessor">#include <QtPrintSupport/qtprintsupportglobal.h></span> <span class="preprocessor">#if QT_CONFIG(printdialog)</span> <span class="preprocessor">#include <QPrinter></span> <span class="preprocessor">#include <QPrintDialog></span> <span class="preprocessor">#endif</span> <span class="preprocessor">#endif</span> <span class="preprocessor">#include "licensewizard.h"</span> <span class="type"><a href="../qtcore/qstring.html">QString</a></span> emailRegExp <span class="operator">=</span> <span class="type"><a href="../qtcore/qstring.html#QStringLiteral">QStringLiteral</a></span>(<span class="string">".+@.+"</span>); LicenseWizard<span class="operator">::</span>LicenseWizard(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizard.html">QWizard</a></span>(parent) { setPage(Page_Intro<span class="operator">,</span> <span class="keyword">new</span> IntroPage); setPage(Page_Evaluate<span class="operator">,</span> <span class="keyword">new</span> EvaluatePage); setPage(Page_Register<span class="operator">,</span> <span class="keyword">new</span> RegisterPage); setPage(Page_Details<span class="operator">,</span> <span class="keyword">new</span> DetailsPage); setPage(Page_Conclusion<span class="operator">,</span> <span class="keyword">new</span> ConclusionPage); setStartId(Page_Intro); <span class="preprocessor">#ifndef Q_OS_MAC</span> setWizardStyle(ModernStyle); <span class="preprocessor">#endif</span> setOption(HaveHelpButton<span class="operator">,</span> <span class="keyword">true</span>); setPixmap(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>LogoPixmap<span class="operator">,</span> <span class="type"><a href="../qtgui/qpixmap.html">QPixmap</a></span>(<span class="string">":/images/logo.png"</span>)); connect(<span class="keyword">this</span><span class="operator">,</span> <span class="operator">&</span><span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>helpRequested<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&</span>LicenseWizard<span class="operator">::</span>showHelp); setWindowTitle(tr(<span class="string">"License Wizard"</span>)); } <span class="type">void</span> LicenseWizard<span class="operator">::</span>showHelp() { <span class="keyword">static</span> <span class="type"><a href="../qtcore/qstring.html">QString</a></span> lastHelpMessage; <span class="type"><a href="../qtcore/qstring.html">QString</a></span> message; <span class="keyword">switch</span> (currentId()) { <span class="keyword">case</span> Page_Intro: message <span class="operator">=</span> tr(<span class="string">"The decision you make here will affect which page you "</span> <span class="string">"get to see next."</span>); <span class="keyword">break</span>; <span class="keyword">case</span> Page_Evaluate: message <span class="operator">=</span> tr(<span class="string">"Make sure to provide a valid email address, such as "</span> <span class="string">"toni.buddenbrook@example.de."</span>); <span class="keyword">break</span>; <span class="keyword">case</span> Page_Register: message <span class="operator">=</span> tr(<span class="string">"If you don't provide an upgrade key, you will be "</span> <span class="string">"asked to fill in your details."</span>); <span class="keyword">break</span>; <span class="keyword">case</span> Page_Details: message <span class="operator">=</span> tr(<span class="string">"Make sure to provide a valid email address, such as "</span> <span class="string">"thomas.gradgrind@example.co.uk."</span>); <span class="keyword">break</span>; <span class="keyword">case</span> Page_Conclusion: message <span class="operator">=</span> tr(<span class="string">"You must accept the terms and conditions of the "</span> <span class="string">"license to proceed."</span>); <span class="keyword">break</span>; <span class="keyword">default</span>: message <span class="operator">=</span> tr(<span class="string">"This help is likely not to be of any help."</span>); } <span class="keyword">if</span> (lastHelpMessage <span class="operator">=</span><span class="operator">=</span> message) message <span class="operator">=</span> tr(<span class="string">"Sorry, I already gave what help I could. "</span> <span class="string">"Maybe you should try asking a human?"</span>); <span class="type"><a href="qmessagebox.html">QMessageBox</a></span><span class="operator">::</span>information(<span class="keyword">this</span><span class="operator">,</span> tr(<span class="string">"License Wizard Help"</span>)<span class="operator">,</span> message); lastHelpMessage <span class="operator">=</span> message; } IntroPage<span class="operator">::</span>IntroPage(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizardpage.html">QWizardPage</a></span>(parent) { setTitle(tr(<span class="string">"Introduction"</span>)); setPixmap(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>WatermarkPixmap<span class="operator">,</span> <span class="type"><a href="../qtgui/qpixmap.html">QPixmap</a></span>(<span class="string">":/images/watermark.png"</span>)); topLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"This wizard will help you register your copy of "</span> <span class="string">"<i>Super Product One</i>&trade; or start "</span> <span class="string">"evaluating the product."</span>)); topLabel<span class="operator">-</span><span class="operator">></span>setWordWrap(<span class="keyword">true</span>); registerRadioButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qradiobutton.html">QRadioButton</a></span>(tr(<span class="string">"&Register your copy"</span>)); evaluateRadioButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qradiobutton.html">QRadioButton</a></span>(tr(<span class="string">"&Evaluate the product for 30 "</span> <span class="string">"days"</span>)); registerRadioButton<span class="operator">-</span><span class="operator">></span>setChecked(<span class="keyword">true</span>); <span class="type"><a href="qvboxlayout.html">QVBoxLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qvboxlayout.html">QVBoxLayout</a></span>; layout<span class="operator">-</span><span class="operator">></span>addWidget(topLabel); layout<span class="operator">-</span><span class="operator">></span>addWidget(registerRadioButton); layout<span class="operator">-</span><span class="operator">></span>addWidget(evaluateRadioButton); setLayout(layout); } <span class="type">int</span> IntroPage<span class="operator">::</span>nextId() <span class="keyword">const</span> { <span class="keyword">if</span> (evaluateRadioButton<span class="operator">-</span><span class="operator">></span>isChecked()) { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Evaluate; } <span class="keyword">else</span> { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Register; } } EvaluatePage<span class="operator">::</span>EvaluatePage(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizardpage.html">QWizardPage</a></span>(parent) { setTitle(tr(<span class="string">"Evaluate <i>Super Product One</i>&trade;"</span>)); setSubTitle(tr(<span class="string">"Please fill both fields. Make sure to provide a valid "</span> <span class="string">"email address (e.g., john.smith@example.com)."</span>)); nameLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"N&ame:"</span>)); nameLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; nameLabel<span class="operator">-</span><span class="operator">></span>setBuddy(nameLineEdit); emailLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"&Email address:"</span>)); emailLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; emailLineEdit<span class="operator">-</span><span class="operator">></span>setValidator(<span class="keyword">new</span> <span class="type"><a href="../qtgui/qregularexpressionvalidator.html">QRegularExpressionValidator</a></span>(<span class="type"><a href="../qtcore/qregularexpression.html">QRegularExpression</a></span>(emailRegExp)<span class="operator">,</span> <span class="keyword">this</span>)); emailLabel<span class="operator">-</span><span class="operator">></span>setBuddy(emailLineEdit); registerField(<span class="string">"evaluate.name*"</span><span class="operator">,</span> nameLineEdit); registerField(<span class="string">"evaluate.email*"</span><span class="operator">,</span> emailLineEdit); <span class="type"><a href="qgridlayout.html">QGridLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qgridlayout.html">QGridLayout</a></span>; layout<span class="operator">-</span><span class="operator">></span>addWidget(nameLabel<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(nameLineEdit<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">1</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(emailLabel<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(emailLineEdit<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">1</span>); setLayout(layout); } <span class="type">int</span> EvaluatePage<span class="operator">::</span>nextId() <span class="keyword">const</span> { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Conclusion; } RegisterPage<span class="operator">::</span>RegisterPage(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizardpage.html">QWizardPage</a></span>(parent) { setTitle(tr(<span class="string">"Register Your Copy of <i>Super Product One</i>&trade;"</span>)); setSubTitle(tr(<span class="string">"If you have an upgrade key, please fill in "</span> <span class="string">"the appropriate field."</span>)); nameLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"N&ame:"</span>)); nameLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; nameLabel<span class="operator">-</span><span class="operator">></span>setBuddy(nameLineEdit); upgradeKeyLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"&Upgrade key:"</span>)); upgradeKeyLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; upgradeKeyLabel<span class="operator">-</span><span class="operator">></span>setBuddy(upgradeKeyLineEdit); registerField(<span class="string">"register.name*"</span><span class="operator">,</span> nameLineEdit); registerField(<span class="string">"register.upgradeKey"</span><span class="operator">,</span> upgradeKeyLineEdit); <span class="type"><a href="qgridlayout.html">QGridLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qgridlayout.html">QGridLayout</a></span>; layout<span class="operator">-</span><span class="operator">></span>addWidget(nameLabel<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(nameLineEdit<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">1</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(upgradeKeyLabel<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(upgradeKeyLineEdit<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">1</span>); setLayout(layout); } <span class="type">int</span> RegisterPage<span class="operator">::</span>nextId() <span class="keyword">const</span> { <span class="keyword">if</span> (upgradeKeyLineEdit<span class="operator">-</span><span class="operator">></span>text()<span class="operator">.</span>isEmpty()) { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Details; } <span class="keyword">else</span> { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Conclusion; } } DetailsPage<span class="operator">::</span>DetailsPage(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizardpage.html">QWizardPage</a></span>(parent) { setTitle(tr(<span class="string">"Fill In Your Details"</span>)); setSubTitle(tr(<span class="string">"Please fill all three fields. Make sure to provide a valid "</span> <span class="string">"email address (e.g., tanaka.aya@example.co.jp)."</span>)); companyLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"&Company name:"</span>)); companyLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; companyLabel<span class="operator">-</span><span class="operator">></span>setBuddy(companyLineEdit); emailLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"&Email address:"</span>)); emailLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; emailLineEdit<span class="operator">-</span><span class="operator">></span>setValidator(<span class="keyword">new</span> <span class="type"><a href="../qtgui/qregularexpressionvalidator.html">QRegularExpressionValidator</a></span>(<span class="type"><a href="../qtcore/qregularexpression.html">QRegularExpression</a></span>(emailRegExp)<span class="operator">,</span> <span class="keyword">this</span>)); emailLabel<span class="operator">-</span><span class="operator">></span>setBuddy(emailLineEdit); postalLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>(tr(<span class="string">"&Postal address:"</span>)); postalLineEdit <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlineedit.html">QLineEdit</a></span>; postalLabel<span class="operator">-</span><span class="operator">></span>setBuddy(postalLineEdit); registerField(<span class="string">"details.company*"</span><span class="operator">,</span> companyLineEdit); registerField(<span class="string">"details.email*"</span><span class="operator">,</span> emailLineEdit); registerField(<span class="string">"details.postal*"</span><span class="operator">,</span> postalLineEdit); <span class="type"><a href="qgridlayout.html">QGridLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qgridlayout.html">QGridLayout</a></span>; layout<span class="operator">-</span><span class="operator">></span>addWidget(companyLabel<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(companyLineEdit<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">1</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(emailLabel<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(emailLineEdit<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">1</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(postalLabel<span class="operator">,</span> <span class="number">2</span><span class="operator">,</span> <span class="number">0</span>); layout<span class="operator">-</span><span class="operator">></span>addWidget(postalLineEdit<span class="operator">,</span> <span class="number">2</span><span class="operator">,</span> <span class="number">1</span>); setLayout(layout); } <span class="type">int</span> DetailsPage<span class="operator">::</span>nextId() <span class="keyword">const</span> { <span class="keyword">return</span> LicenseWizard<span class="operator">::</span>Page_Conclusion; } ConclusionPage<span class="operator">::</span>ConclusionPage(<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>parent) : <span class="type"><a href="qwizardpage.html">QWizardPage</a></span>(parent) { setTitle(tr(<span class="string">"Complete Your Registration"</span>)); setPixmap(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>WatermarkPixmap<span class="operator">,</span> <span class="type"><a href="../qtgui/qpixmap.html">QPixmap</a></span>(<span class="string">":/images/watermark.png"</span>)); bottomLabel <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qlabel.html">QLabel</a></span>; bottomLabel<span class="operator">-</span><span class="operator">></span>setWordWrap(<span class="keyword">true</span>); agreeCheckBox <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qcheckbox.html">QCheckBox</a></span>(tr(<span class="string">"I agree to the terms of the license"</span>)); registerField(<span class="string">"conclusion.agree*"</span><span class="operator">,</span> agreeCheckBox); <span class="type"><a href="qvboxlayout.html">QVBoxLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qvboxlayout.html">QVBoxLayout</a></span>; layout<span class="operator">-</span><span class="operator">></span>addWidget(bottomLabel); layout<span class="operator">-</span><span class="operator">></span>addWidget(agreeCheckBox); setLayout(layout); } <span class="type">int</span> ConclusionPage<span class="operator">::</span>nextId() <span class="keyword">const</span> { <span class="keyword">return</span> <span class="operator">-</span><span class="number">1</span>; } <span class="type">void</span> ConclusionPage<span class="operator">::</span>initializePage() { <span class="type"><a href="../qtcore/qstring.html">QString</a></span> licenseText; <span class="keyword">if</span> (wizard()<span class="operator">-</span><span class="operator">></span>hasVisitedPage(LicenseWizard<span class="operator">::</span>Page_Evaluate)) { licenseText <span class="operator">=</span> tr(<span class="string">"<u>Evaluation License Agreement:</u> "</span> <span class="string">"You can use this software for 30 days and make one "</span> <span class="string">"backup, but you are not allowed to distribute it."</span>); } <span class="keyword">else</span> <span class="keyword">if</span> (wizard()<span class="operator">-</span><span class="operator">></span>hasVisitedPage(LicenseWizard<span class="operator">::</span>Page_Details)) { licenseText <span class="operator">=</span> tr(<span class="string">"<u>First-Time License Agreement:</u> "</span> <span class="string">"You can use this software subject to the license "</span> <span class="string">"you will receive by email."</span>); } <span class="keyword">else</span> { licenseText <span class="operator">=</span> tr(<span class="string">"<u>Upgrade License Agreement:</u> "</span> <span class="string">"This software is licensed under the terms of your "</span> <span class="string">"current license."</span>); } bottomLabel<span class="operator">-</span><span class="operator">></span>setText(licenseText); } <span class="type">void</span> ConclusionPage<span class="operator">::</span>setVisible(bool visible) { <span class="type"><a href="qwizardpage.html">QWizardPage</a></span><span class="operator">::</span>setVisible(visible); <span class="keyword">if</span> (visible) { wizard()<span class="operator">-</span><span class="operator">></span>setButtonText(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>CustomButton1<span class="operator">,</span> tr(<span class="string">"&Print"</span>)); wizard()<span class="operator">-</span><span class="operator">></span>setOption(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>HaveCustomButton1<span class="operator">,</span> <span class="keyword">true</span>); connect(wizard()<span class="operator">,</span> <span class="operator">&</span><span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>customButtonClicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&</span>ConclusionPage<span class="operator">::</span>printButtonClicked); } <span class="keyword">else</span> { wizard()<span class="operator">-</span><span class="operator">></span>setOption(<span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>HaveCustomButton1<span class="operator">,</span> <span class="keyword">false</span>); disconnect(wizard()<span class="operator">,</span> <span class="operator">&</span><span class="type"><a href="qwizard.html">QWizard</a></span><span class="operator">::</span>customButtonClicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&</span>ConclusionPage<span class="operator">::</span>printButtonClicked); } } <span class="type">void</span> ConclusionPage<span class="operator">::</span>printButtonClicked() { <span class="preprocessor">#if QT_CONFIG(printdialog)</span> <span class="type">QPrinter</span> printer; <span class="type">QPrintDialog</span> dialog(<span class="operator">&</span>printer<span class="operator">,</span> <span class="keyword">this</span>); <span class="keyword">if</span> (dialog<span class="operator">.</span>exec()) <span class="type"><a href="qmessagebox.html">QMessageBox</a></span><span class="operator">::</span>warning(<span class="keyword">this</span><span class="operator">,</span> tr(<span class="string">"Print License"</span>)<span class="operator">,</span> tr(<span class="string">"As an environmentally friendly measure, the "</span> <span class="string">"license text will not actually be printed."</span>)); <span class="preprocessor">#endif</span> } </pre> </div> <!-- @@@dialogs/licensewizard/licensewizard.cpp --> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2017 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>