pozdrav!
imam en problem oz. vprasanje
program sem razdelil na 3 objekte: posta.o (posta.cpp), okno.o (okno.h,
okno.cpp) in beri.o (beri.cpp, beri.h)
stvar je takale: glavni program je posta.cpp. glavna graficna rec je
okno.h (deklaracija), z beri.cpp pa berem datoteke.
v okno.h imam definirano:
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget( QWidget *parent=0, const char *name=0 );
public slots:
...
void foo();
...
};
v okno.cpp v MyWidget::MyWidget imam:
...
BeriP postaposta;
connect(postaposta, SIGNAL(dodajListoSeznam()), SLOT(foo()));
postaposta.beriListe("/home/ipizo/mail");
...
v beri.h imam definirano:
class BeriP {
public:
void beriListe(char *direktorij);
signals:
void dodajListoSeznam();
};
v beri.cpp pa:
void BeriP::beriListe(char *direktorij)
{
for (int i=0;i<5;i++) {
direk = readdir(direkt);
emit dodajListoSeznam();
}
}
ampak dodajListoSeznam() signal se nikoli noce prikazati in ne sprozi
slota v okno.cpp.
ima kdo kaksno idejo, kako naj to uredim, da bo delalo?
ali se boljse vprasanje:
kako lahko iz enega objekta (beri.o) iz classa v njem klicem funkcije,
ki so v drugem objektu (okno.o) v classu, ki je v njem?
ali pa morda mora biti tudi class BeriP tipa QWidget?? ce to naredim,
tudi nekaj sitnari.
classi mi namrec niso prevec jasni (imam rajsi goli C)
ce bi rad kdo celotno kodo (da nisem vsega dobro opisal), lahko posljem
na private.
aja, ko prevajam, mi napise:
okno.c:86: no matching function for call to 'MyWidget::connect (BeriP &,
char[20], char[7])'
vnaprej hvala za odgovore in se opravicujem za lame vprasanje.
--
Iztok Pizorn, [EMAIL PROTECTED]
linux user, RH5.1; afterstep;
Non tam praeclarum linux agere, quam turbiter isti non praeesse.