Qt Creator Slots-oppl ringen

Qt Creator Slots-oppl ringen h1>

Fa via App Store Les dette innlegget i var app!

Hvordan oppretter jeg en egendefinert plass i qt4-designer?

Nar jeg bruker dialogboksen signal / sporredigeringsredigerer, ma jeg velge fra den eksisterende listen over spor. Sa sporsmalet er hvordan lager jeg et tilpasset navngitt spor?

10 svar.

Dessverre er dette ikke mulig i Qt4.

I Qt3 kan du opprette egendefinerte spor som der da implementeres i filen ui.h. Qt4 bruker imidlertid ikke denne filen, slik at egendefinerte spor ikke stottes.

Det er noen diskusjon om dette problemet pa QtForum.

Dette synes a v re mulig i versjonen av Qt Designer 4.5.2, men det kan ikke gjores fra Signal / Slot Editor dock-widgeten i hovedvinduet.

Dette er det som virket for meg.

Bytt til Rediger signaler / spormodus (F4) Dra og slipp fra widgeten som skal sende signalet til widgeten som skal motta signalet. En Konfigurer tilkoblingsdialogboks vises, viser signalene for den utgivende widgeten, og sporene for mottaker-widgeten. Klikk pa Rediger. under slots kolonnen til hoyre. En dialogboksen Signaler / spor av ReceivingWidget vises. Her er det mulig a klikke pa plussymbolet under sporene for a legge til et nytt spor av noe navn. Du kan da ga tilbake og koble til det nye sporet i dialogboksen Konfigurer tilkobling, eller i Dock / Slot Editor-dockwidget tilbake i hovedvinduet.

Advarsel: Jeg bruker PyQt, og jeg har bare provd a bruke slots lagt til pa denne maten fra Python, ikke fra C ++, slik at kjorelengde kan variere.

hoyreklikk pa hovedvinduet og velg “endre signaler og spor” og legg til et nytt spor. Den vises i signalsporredigeren din.

Jeg kan gjore det ved a:

I MainWindow.h legger du til linjen:

i MainWindow-klassen.

Dette ser ikke ut til a v re mulig pa en enkel mate.

Designeren lar deg bare markedsfore eksisterende widgets til dine egne egendefinerte widgets. men det tillater deg ikke a koble signaler og spor i klassen av promoterte widgets.

Maten dette er mulig, er a lage et plugin for designeren som beskrevet her og i sidene som folger den.

Det normale tiltaket er a markedsfore en widget til din egen klasse og deretter koble den manuelt til din egen kode. denne prosessen er beskrevet her.

Det er ikke mulig a gjore det, fordi det betyr at du vil legge til et spor til en eksisterende Qt-klasse som QPushButton, som egentlig ikke er veien a ga.

Du bor opprette din egen QWidget etter hvert ved a subclassere en eksisterende. Deretter integreres det i Qt Designer som et plugin som foreslatt. A ha din egen klasse lar deg legge til / modifisere signaler / spor som er tilgjengelige som du vil.

Ikke glem om de automatiske tilkoblingsfunksjonene for sporene. Det er noen ulemper, som a matte omdope funksjonen din hvis du omdoper din widget, men vi bruker dem mye pa firmaet mitt.

du kan bruke det magiske sporformatet til.

Forbindelsen til denne metoden er etablert ved metoden connectSlotsByName, og nar signalet sendes ut, blir dette sporet pakalt.

Kanskje det hjelper.

Som standard ma du velge fra den eksisterende listen over spor. Men du kan legge til plass ved a hoyreklikke pa objektet i listen pa hoyre side av designeren, og velg “spor / signaler” og legg til ditt egendefinerte spor / signal. Etter det kan du velge det i signal / slot editor.


Vil du spille i det beste kasinoet? Vi fant det for deg. Trykk her nå!