bytesWritten ( qint64 bytes ) Signal löst bei mir nichts aus

Alles rund um die Programmierung mit Qt
Antworten
Tom_Tom
Beiträge: 54
Registriert: 2. August 2008 18:39

bytesWritten ( qint64 bytes ) Signal löst bei mir nichts aus

Beitrag von Tom_Tom »

Hi Leute, kann mir mal jemand erklären, was ich tun muss, damit bei mir das Signal bytesWritten ( qint64 bytes ) ausgelöst wird?

Ich habe z.B. folgenden Code:

Code: Alles auswählen

	QFile file(this->fileName);
	QTextStream outStream(&file);
	connect(&file, SIGNAL(bytesWritten ( qint64 )), this, SIGNAL(signal_bytesWritten( qint64 )));
	if (file.open(QIODevice::WriteOnly)) {
		outStream << this->xmlByteArray;
		file.close();
	}
Aber es funktioniert irgendwie nicht.

Vilden Dank schonmal =)
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag von Exasperation »

Code: Alles auswählen

connect( m_close_button, SIGNAL(clicked()), this, SLOT(quit()) );
Unterschied zwischen deinem und meinem connect?
Tom_Tom
Beiträge: 54
Registriert: 2. August 2008 18:39

Beitrag von Tom_Tom »

Unterschied, dass du an einen SLOT schickst und ich an einem weiteren SIGNAL ???

Ist aber egal, das zweite SIGNAL wird ja dann mit nem SLOT verbunden.
Und das kann QT eigentlich. Da passiert auch nichts, wenn ich dort mit nem SLOT arbeite.

Das Problem ist, dass er das bytesWritten() - Signal vom QIODevice irgendwie nicht auslöst.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Unlike other QIODevice implementations, such as QTcpSocket, QFile does not emit the aboutToClose(), bytesWritten(), or readyRead() signals. This implementation detail means that QFile is not suitable for reading and writing certain types of files, such as device files on Unix platforms.
@Exasperation: Du verbindest mit einem Button, er mit einem QFile?
Tom_Tom
Beiträge: 54
Registriert: 2. August 2008 18:39

Beitrag von Tom_Tom »

@upsala: Danke für das Zitat. Aber wo hast du das gefunden? Habe das bei mir im Assistenten nicht finden können.

Und hast du evtl. eine Idee, wie ich das anders lösen kann?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

http://doc.trolltech.com/4.5/qfile.html#signals

Ich würde mal von QFile ableiten und versuchen

Code: Alles auswählen

qint64 QIODevice::writeData ( const char * data, qint64 maxSize ) 
zu überladen und danach selbst ein Signal zu senden.
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag von Exasperation »

upsala hat geschrieben:
Unlike other QIODevice implementations, such as QTcpSocket, QFile does not emit the aboutToClose(), bytesWritten(), or readyRead() signals. This implementation detail means that QFile is not suitable for reading and writing certain types of files, such as device files on Unix platforms.
@Exasperation: Du verbindest mit einem Button, er mit einem QFile?
Ne ich meinte dass ich direkt SIGNALS mit SLOTS verbinde... Da geh ich auf Nummer sicher, weil ich im Slot wieder was emiten kann...
Antworten