Pulaski.

Pulaski.

QObject , GUI , QWidget . . , QCoreApplication :: kjorbart () . , GUI , , , , .

spalte mottaker arrangement sloyfe , avsender, mottaker .

sendEvent, mottaker (QEvent :: MetaCall.); avsender, mottaker .

klasse traden: offentlig QThread.

klasse Widget: offentlig QWidget.

Widget (QWidget * foreldre = 0);

m_textEdit = ny QTextEdit (dette);

QHBoxLayout * layout = ny QHBoxLayout (dette);

m_thread = ny trad ();

koble (m_thread, SIGNAL (sendString (QString)), m_textEdit, SLOT (legg til (QString)));

int main (int argc, char * argv [])

QApplication a (argc, argv);

Signaler og spor over tradene.

Qt stotter disse signal-sluttforbindelsestyper:

Auto-tilkobling (standard) Hvis signalet sendes ut i traden som mottaksobjektet har tilknytning til, er oppforselen den samme som direkte tilkobling. Ellers er oppforselen den samme som den kjopte tilkoblingen. » Direkte tilkobling Sporet er pakalt umiddelbart nar signalet sendes ut. Sporet blir utfort i emitterens trad, som ikke nodvendigvis er mottakers trad. Koble tilkobling Sporet er pakalt nar kontrollen gar tilbake til hendelseslokken pa mottakerens trad. Sporet blir utfort i mottakerens trad. Blokkering i ko-tilkobling Sporet er pakalt som for den koble tilkoblingen, bortsett fra de gjeldende tradblokkene til sporet returnerer. Merk: Ved a bruke denne typen for a koble til objekter i samme trad, vil det fore til dodlas. Unik tilkobling Oppforselen er den samme som den automatiske tilkoblingen, men forbindelsen er bare gjort hvis den ikke dupliserer en eksisterende tilkobling. d.v.s. hvis det samme signalet allerede er koblet til samme spor for det samme par objekter, blir forbindelsen ikke laget og forbindelsen () returnerer false.

Tilkoblingstypen kan spesifiseres ved a sende et ekstra argument til a koble til (). V r oppmerksom pa at bruk av direkte tilkoblinger nar avsenderen og mottakeren lever i forskjellige trader, er usikker hvis en hendelseslokke kjorer i mottakerens trad, av samme grunn som at en hvilken som helst funksjon pa en gjenstand som lever i en annen trad, er usikker.

Mandelbrot-eksemplet bruker en koforbindelse for a kommunisere mellom en arbeidstrad og hovedtraden. For a unnga frysing av hovedtradens hendelseslokke (og som folge av programmets brukergrensesnitt), blir hele Mandelbrot fraktal beregning gjort i en separat arbeidstrad. Graet sender et signal nar det er gjort som gir fraktalen.

Pa samme mate bruker Blocking Fortune Client-eksemplet en separat trad for a kommunisere med en TCP-server asynkront.


Hilsener! Vil du spille i det mest heldige kasinoet? Vi forbereder det for deg. Gå her nå!