Pythonqt-spor

Pythonqt-spor h1>

Fa via App Store Les dette innlegget i var app!

PyQt koble SIGNAL til flere SLOT.

Jeg prover a l re PyQt fra rask gui programmering med python og qt og for tiden l rer Signals and Slots.

Nedenfor er en kort kodebit av koden min:

Det jeg prover a oppna her er ring 2 SLOTS samtidig som det er spinbox.setValue og getValue_dial for dial-objektet sa snart ValueChanged (int) -signalet sendes ut.

Ovennevnte kode kjores vellykket uten feil og skriv ut de riktige verdiene ettersom de endres.

Na er sporsmalet mitt over det som er hensiktsmessig a ringe flere spor for et enkelt signal.?

Kan de ovennevnte to setningene (1 og 2) kombineres i en enkelt setning.

Her er lenken for min komplette kode.

Maten du gjor det er greit. Hvis du hadde ganske mange ting a gjore, kan du koble til en ny funksjon som handterer alt for deg.

Jeg merker i de tilkoblede getValue-funksjonene du far verdien rett fra objektet; er du klar over at verdien er bestatt som en parameter med valueChanged (int) signalet? Hvis du endrer dine getValue-funksjoner for a godta en ekstra parameter, er det ikke nodvendig a fa verdien direkte fra objektet. Selvfolgelig kan du gjore unna getValue-funksjonen sammen og utstede utskriftserkl ringen i hjelperfunksjonen.

Ogsa, og dette er nede i preferanse, er det en ny stil for signaler og spor som kan gjore koden litt enklere a lese. Det ville forandre.

Men for det opprinnelige sporsmalet og for de to tingene du gjor, ville jeg bare koble signalet to ganger i stedet for a ha en hjelperfunksjon.

Du kan bruke en liste for a koble de to sporene / funksjonene i en enkelt setning:

Dette er den riktige maten, ja. Du kan ikke kombinere de to CONNECT-setningene til en.