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

📄 dynamic_cast.cpp

📁 压缩包里有教材<<C++模式设计-基于QT4开源跨平台开发框架>>所有源码
💻 CPP
字号:
#include <QVector>#include <QAbstractButton>#include <QDebug>#include <QPushButton>#include <QComboBox>#include <QMenuBar>#include <QCheckBox>#include <QApplication>#include <QDateTimeEdit>#include <QDoubleSpinBox>//start int processWidget(QWidget* wid) {        if (wid->inherits("QAbstractSpinBox")) { /* only                   for QObjects processed by moc */        QAbstractSpinBox* qasbp =             static_cast <QAbstractSpinBox*> (wid);        qasbp->setAlignment(Qt::AlignHCenter);    }    else {        QAbstractButton* buttonPtr =             dynamic_cast<QAbstractButton*>(wid);        if (buttonPtr) { /* If non-null, it's a valid QAbstractButton. */            buttonPtr->click();            qDebug() << QString("I clicked on the %1 button:")                .arg(buttonPtr->text());        }        return 1;    }    return 0;}//endint main(int argc, char** argv) {    QApplication app(argc, argv);    //start    QVector<QWidget*> widvect;    widvect.append(new QPushButton("Ok"));    widvect.append(new QCheckBox("Checked"));    widvect.append(new QComboBox());    widvect.append(new QMenuBar());    widvect.append(new QCheckBox("With Fries"));    widvect.append(new QPushButton("Nooo!!!!"));    widvect.append(new QDateTimeEdit());    widvect.append(new QDoubleSpinBox());    foreach (QWidget* widpointer, widvect) {        processWidget(widpointer);    }   return 0;}

⌨️ 快捷键说明

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