[kde-de] Entwicklerprobleme...

Sebastian Voitzsch Sebastian.Voitzsch at web.de
Di Sep 17 16:02:37 CEST 2002


Hallo Carsten!

> <snip>
> Gesetz dem Falle das deine Klasse aus dem Designer foo heißt machst du
>
> class bar : public foo
Moment - wieso soll ich in der Definition für "bar" "foo" deklarieren? Hier 
deklariere ich doch nur das, was "bar" öffentlich bekanntgeben will?!

>
> damit ist in bar das Object (der Button) aus foo bekannt und du kannst ihn
> direkt ansprechen.

So hatte ich mir das auch gedacht, der Button ist auch als public deklariert. 
Trotzdem motzt der Compiler "'NextButton' undeclared" bei folgendem Code:

UI-Header:
--- kirmp3main.h --- 
class Kirmp3Main : public QMainWindow
{ 
    Q_OBJECT

public:
    Kirmp3Main( QWidget* parent = 0, const char* name = 0, WFlags fl = 
WType_TopLevel );
    ~Kirmp3Main();

    QPushButton* PlayButton;
    QPushButton* PreviousButton;
    QPushButton* NextButton;
    QPushButton* StopButton;
----- <snip> -----

main.cpp
--- main.cpp ---
#include "kirmp3main.h"

Kirmp3Main *kirmp3window;
Kirmp3Control *kirmp3;

int main(int argc, char *argv[])
{
 <snip>
  kirmp3window = new Kirmp3Main();
  kirmp3 = new Kirmp3Control();
  connect (NextButton, SIGNAL( clicked()), kirmp3, SLOT( doNext()));
<snip>
}

Das Ziel ist wohl klar - das Signal (clicked()) aus kirmp3window soll mit dem 
Slot doNext() aus kirmp3 verbunden werden.

Wo liegt da mein Denkfehler? Wenn ich in kirmp3main.h alles als public 
deklariere, dürfte es doch in main per include verfügbar sein, oder? Die 
Instanz der Klasse Kirmp3Main habe ich ja auch erzeugt...

Aller (c++)-Anfang ist schwer...

Ciao,
Sebastian


-- 
Sebastian Voitzsch	 Tel: +49 251 6743399
Zumsandestraße 33	 Fax:+49 251 6743930
48145 Münster		Mob:+49 177 8024792
eMail: Sebastian.Voitzsch at web.de

-- 
Sebastian Voitzsch	 Tel: +49 251 6743399
Zumsandestraße 33	 Fax:+49 251 6743930
48145 Münster		Mob:+49 177 8024792
eMail: Sebastian.Voitzsch at web.de