여러 QWizardPage가 포함 된 QWizard 클래스를 사용하고 있습니다. 일부 페이지의 경우 "다음"버튼을 클릭 할 때 뭔가해야합니다.QWizard의 "다음"슬롯을 어떻게 덮어 쓸 수 있습니까?
내 QWizard 클래스의 next
슬롯을 덮어 쓰려고했습니다. 그러나 이것이 작동하지 않는 것 같습니다. 프로그램은 여전히 구현 된 대신 부모 QWizard 클래스의 원래 next
슬롯으로 들어갔다.
next
슬롯이 가상으로 보호 되었기 때문에이게 가능합니까? 다음 버튼을 클릭 한 후에는 어떻게해야합니까?
내 QWizard 클래스의 헤더 파일은 다음과 같습니다. 그건 그렇고, accept
신호가 예상대로 잘 작동합니다. ,
PrimerWizard* pW = new PrimerWizard(this);
pW->exec();
그리고 next
의 신호 슬롯 연결 QtCreator 의해 생성된다 :
#ifndef PRIMERWIZARD_H
#define PRIMERWIZARD_H
#include <QWizard>
namespace Ui {
class PrimerWizard;
}
class PrimerWizard : public QWizard {
Q_OBJECT
public:
PrimerWizard(QWidget *parent = 0);
~PrimerWizard();
protected slots:
void next();
void accept();
protected:
void changeEvent(QEvent *e);
private:
Ui::PrimerWizard *ui;
};
#endif // PRIMERWIZARD_H
난 QtCreator의 마법사 HA (XD)
코드는 다음과 같다 통해 새로운 마법사 인스턴스를 생성 실제로 연결된 곳을 찾을 수 없습니다. 나는 연결이이 기능에 의해 ui_PrimerWizard.h에 내장되어 생각 :
QMetaObject::connectSlotsByName(PrimerWizard);
비슷한 상황이 있습니다. 제 경우에는 마법사 페이지 1-6 단계가 있고 4 단계에서 http 요청을 만들고 콜백을 기다린 후 5 단계로 이동합니다. – PedroMorgan