QT: Problem mit signal



  • Hallo,

    ich habe folgendes Problem.
    Ich habe eine Klasse abgeleitet von QWidget.
    Diese hat als pivate member einen QPushButton.

    class Test : public QWidget
    {
    	Q_OBJECT
    public:
    	Test();
    	~Test();
    
    signals:
    	void sent();
    
    private:
    	QPushButton *foo;
    };
    

    Die Klasse wird aber in einer Art Container verwaltet.
    Ich möchte nun das Signal clicked() von foo aus der Klasse raus nach draussen leiten. Da ich allerdings nicht von aussen auf foo zugreifen kann um das Signal im Container zu verknüpfen, habe ich für die Klasse Test noch ein Signal geschaffen, dass dann mit clicked() von foo verknüpft wird und ja problemlos im Container wieder verknüpft werden kann.
    Aber das intere Verknüpfen von Signals bzw. Slots von this geht nicht. Im Tutoial steht eigentlich, dass es geht, tut es aber nicht.

    Test::Test()
    {
    	foo = new QPushButton(this, "foo");
    
    	// laut Tut07 müsste das gehen, tut es aber nicht!?
    	connect(foo, SIGNAL(clicked()), SIGNAL(sent()));
    }
    
    Test::~Test()
    {
    	if(foo)
    	{
    		delete foo;
    	}
    }
    

    Wie bekomme ich nun das Signal nach draussen? Ich möchte allerdings auf keinen Fall foo public machen.


Anmelden zum Antworten