//用于有背面检测的提示框 #include #include class backContinueDetDialog : public QObject { Q_OBJECT public: fancyWarnWindow* _fancyWarnWindow; QTimer* timer; backContinueDetDialog() { timer = new QTimer(this); _fancyWarnWindow = new fancyWarnWindow(fancyWarnWindow::tip, "是否继续背面检测", "", false); _fancyWarnWindow->disableHideAfterClicked(); _fancyWarnWindow->hide(); _fancyWarnWindow->closeBtn->hide(); QObject::connect(_fancyWarnWindow->continueBtn, &QPushButton::clicked, this, &backContinueDetDialog::continueClicked); QObject::connect(_fancyWarnWindow->cancelBtn, &QPushButton::clicked, this, &backContinueDetDialog::cancelClicked); } private: public slots: void cancelClicked() { qDebug() << "点击了取消检测背面"; } void continueClicked() { timer->start(10000); emit continueClickedSignal(); _fancyWarnWindow->continueBtn->setDisabled(true); QObject::connect(timer, &QTimer::timeout, this, [=]() {_fancyWarnWindow->continueBtn->setEnabled(true); }); qDebug() << "点击运行背面"; } void show() { _fancyWarnWindow->show(); } void hide() { _fancyWarnWindow->hide(); } signals: void continueClickedSignal(); }; #pragma once