2010-07-24 12 views
5

Birkaç QWizardPage içeren bir QWizard sınıfı kullanıyorum. Bazı sayfalarda "İleri" düğmesine tıklandığında bir şeyler yapmam gerekiyor.QWizard'daki "sonraki" yuva üzerine nasıl yazabilirim?

QWizard sınıfımda next yuvasının üzerine yazmayı denedim; Ancak, bu işe yaramaz gibi görünüyor. Program hala uygulandığımın yerine ana QWizard sınıfındaki orijinal next yuvasına gitti.

Bu, next yuvasının sanal korumalı olduğundan bu mu? Bir sonraki tuşa tıklandıktan sonra bazı şeyleri nasıl yapabilirim?


QWizard sınıfımın başlık dosyası izler. Bu arada, accept sinyali beklediğim kadar iyi çalışıyor. ,

PrimerWizard* pW = new PrimerWizard(this); 
pW->exec(); 

Ve next sinyal yuvalı bağlantı QtCreator tarafından oluşturulur:

#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 

Ben QtCreator en Sihirbazın (Ha XD)

kod aşağıdaki gibidir aracılığıyla yeni sihirbaz örneğini oluşturmak Gerçekten nerede bağlı olduğunu bulamıyorum. Ben bağlantı bu işlev tarafından ui_PrimerWizard.h inşa edilmiştir düşünüyorum:

QMetaObject::connectSlotsByName(PrimerWizard); 
+0

Benzer bir durumum var. Benim durumumda, 1-6 numaralı sihirbaz sayfalarına sahibim ve 4. adımda bir http isteği yapmak, geri arama için beklemek ve 5. adıma geçmek istiyorum. – PedroMorgan

cevap

2

next yuvası üzerine yazılamaz. Ancak, QWizardPage için validatePage işlevi olabilir. Bu fonksiyon "İleri" veya "Son" butonu tıklandığında çağrılacaktır.

İlgili konular