⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complexwizard.cpp

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 CPP
字号:
/******************************************************************************** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved.**** This file is part of the example classes of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.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 GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include <QtGui>#include "complexwizard.h"ComplexWizard::ComplexWizard(QWidget *parent)    : QDialog(parent){    cancelButton = new QPushButton(tr("Cancel"));    backButton = new QPushButton(tr("< &Back"));    nextButton = new QPushButton(tr("Next >"));    finishButton = new QPushButton(tr("&Finish"));    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));    connect(backButton, SIGNAL(clicked()), this, SLOT(backButtonClicked()));    connect(nextButton, SIGNAL(clicked()), this, SLOT(nextButtonClicked()));    connect(finishButton, SIGNAL(clicked()), this, SLOT(accept()));    buttonLayout = new QHBoxLayout;    buttonLayout->addStretch(1);    buttonLayout->addWidget(cancelButton);    buttonLayout->addWidget(backButton);    buttonLayout->addWidget(nextButton);    buttonLayout->addWidget(finishButton);    mainLayout = new QVBoxLayout;    mainLayout->addLayout(buttonLayout);    setLayout(mainLayout);}void ComplexWizard::setFirstPage(WizardPage *page){    page->resetPage();    history.append(page);    switchPage(0);}void ComplexWizard::backButtonClicked(){    WizardPage *oldPage = history.takeLast();    oldPage->resetPage();    switchPage(oldPage);}void ComplexWizard::nextButtonClicked(){    WizardPage *oldPage = history.last();    WizardPage *newPage = oldPage->nextPage();    newPage->resetPage();    history.append(newPage);    switchPage(oldPage);}void ComplexWizard::completeStateChanged(){    WizardPage *currentPage = history.last();    if (currentPage->isLastPage())        finishButton->setEnabled(currentPage->isComplete());    else        nextButton->setEnabled(currentPage->isComplete());}void ComplexWizard::switchPage(WizardPage *oldPage){    if (oldPage) {        oldPage->hide();        mainLayout->removeWidget(oldPage);        disconnect(oldPage, SIGNAL(completeStateChanged()),                   this, SLOT(completeStateChanged()));    }    WizardPage *newPage = history.last();    mainLayout->insertWidget(0, newPage);    newPage->show();    newPage->setFocus();    connect(newPage, SIGNAL(completeStateChanged()),            this, SLOT(completeStateChanged()));    backButton->setEnabled(history.size() != 1);    if (newPage->isLastPage()) {        nextButton->setEnabled(false);        finishButton->setDefault(true);    } else {        nextButton->setDefault(true);        finishButton->setEnabled(false);    }    completeStateChanged();}WizardPage::WizardPage(QWidget *parent)    : QWidget(parent){    hide();}void WizardPage::resetPage(){}WizardPage *WizardPage::nextPage(){    return 0;}bool WizardPage::isLastPage(){    return false;}bool WizardPage::isComplete(){    return true;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -