Linuxguru hat geschrieben:
mein kopf der main loop sieht so aus
Was meinst du mit main loop, das ist doch eher ein Konstruktor der Klasse MyWidget?
Code: Alles auswählen
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent), edit(0), ftp(0)
{
if( edit !=0 )
{
connect( edit->document(), SIGNAL(contentsChange(int,int,int)), this, SLOT(textChanged(int,int,int)) );
connect( edit, SIGNAL(cursorPositionChanged()), this, SLOT(sliderPosition1()) );
connect( edit->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(sliderPosition(int)) );
}
}
Nach dem Aufruf des Konstruktors, wird edit immer 0 sein, da du es ja in der Initialisierungsliste auf 0 setzt.
in meiner fileNew() funktion weiter unten wird dann mein qtextedit mit
Wenn du edit hier neu anlegst, bringt das für deine Signals und Slots nichts, da der Konstruktor(s.o.) ja schon längst durchlaufen ist und somit auch das connect nicht mehr ausgeführt wird.
Vorschlag:
eine Methode void connectSignalsAndSlots(), die folgerdermaßen aussieht:
Code: Alles auswählen
void MyWidget::connectSignalsAndSlots()
{
if ( edit )
{
//CONNECTS
}
}
diese Methode dann einfach nach der Erzeugung von edit aufrufen.
Grüße