QDialog klasse.

QDialog klasse.

QDialog-klassen er grunnklassen for dialogvinduer. Mer.

Offentlige typer.

Egenskaper.

modal: bool sizeGripEnabled: bool 59 egenskaper arvet fra QWidget.

Offentlige funksjoner.

Reimplemented Public Functions.

217 offentlige funksjoner arvet fra QWidget.

Offentlige spor.

19 offentlige slots arvet fra QWidget.

4 signaler arvet fra QWidget.

Beskyttede funksjoner.

Reimplemented Protected Functions.

37 beskyttede funksjoner arvet fra QWidget.

Ekstra arvelige medlemmer.

5 statlige offentlige medlemmer arvet fra QWidget 1 beskyttet spor arvet fra QWidget.

Detaljert beskrivelse.

QDialog-klassen er grunnklassen for dialogvinduer.

Et dialogvindu er et toppnivavindu som oftest brukes til kortvarige oppgaver og kort kommunikasjon med brukeren. QDialogs kan v re modal eller modlos. QDialogs kan gi en returverdi, og de kan ha standardknapper. QDialogs kan ogsa ha en QSizeGrip i deres nederste hoyre hjorne, ved hjelp av setSizeGripEnabled ().

Merk at QDialog (og hvilken som helst annen widget som har typen Qt :: Dialog) bruker foreldre-widgeten litt annerledes enn andre klasser i Qt. En dialogboks er alltid en toppniva-widget, men hvis den har en forelder, er standardplasseringen sentrert pa toppen av foreldrenes toppniva-widget (hvis den ikke er pa toppniva selv). Det vil ogsa dele foreldrenes oppgavelinjeoppforing.

Bruk overbelastningen av QWidget :: setParent () -funksjonen for a endre eierskapet til en QDialog-widget. Denne funksjonen lar deg eksplisitt sette vinduesflaggene til den reparerte widgeten; Ved bruk av overbelastet funksjon vil du fjerne vinduesflaggene som angir vinduesystemegenskapene for widgeten (spesielt vil den nullstille Qt :: Dialog-flagg).

Modale dialogbokser.

En modal dialog er en dialog som blokkerer inngang til andre synlige vinduer i samme applikasjon. Dialogger som brukes til a be om et filnavn fra brukeren eller som brukes til a angi programvalg, er vanligvis modale. Dialogger kan v re applikasjonsmodal (standard) eller vindusmodell.

Nar en applikasjonsmodal dialog apnes, ma brukeren slutte a samhandle med dialogboksen og lukke den for de kan fa tilgang til noe annet vindu i programmet. Vinduemodale dialoger blokkerer bare tilgang til vinduet som er knyttet til dialogboksen, slik at brukeren kan fortsette a bruke andre vinduer i et program.

Den vanligste maten a vise en modal dialog pa er a ringe sin exec () -funksjon. Nar brukeren lukker dialogboksen, vil exec () gi en nyttig returverdi. For a fa dialogboksen til a lukke og returnere riktig verdi, kobler vi vanligvis til standardknappen, for eksempel & # x2e; OK, til aksept () -sporet og en Avbryt-knapp til avslaget () -sporet. Alternativt kan du ringe det ferdige () -sporet med Godkjent eller Avvist.

Et alternativ er a ringe setModal (true) eller setWindowModality (), og deretter vise (). I motsetning til exec (), viser () tilbake kontrollen til den som ringer umiddelbart. Calling setModal (true) er spesielt nyttig for fremdriftsdialoger, der brukeren ma ha mulighet til a samhandle med dialogboksen, for eksempel & # x2e; for a avbryte en lang kjoring. Hvis du bruker show () og setModal (true) sammen for a utfore en lang operasjon, ma du ringe QApplication :: processEvents () regelmessig under behandling for a gjore det mulig for brukeren a samhandle med dialogboksen. (Se QProgressDialog.)

Modeless Dialogs.

En modlos dialog er en dialog som opererer uavhengig av andre vinduer i samme applikasjon. Finn og erstatt dialoger i ordbehandlere er ofte ubrukelige slik at brukeren kan samhandle med bade programmets hovedvindu og dialogboksen.

Modelose dialoger vises ved hjelp av show (), som gir kontroll over til den som ringer umiddelbart.

Hvis du paberetter show () -funksjonen etter a ha skjult en dialog, vil dialogboksen vises i sin opprinnelige posisjon. Dette skyldes at vindushandtereren bestemmer posisjonen for Windows som ikke er eksplisitt plassert av programmereren. For a bevare stillingen til en dialog som er flyttet av brukeren, lagre posisjonen i closeEvent () -handtereren, og flytt deretter dialogen til den posisjonen, for du viser den igjen.

Standard knapp.

En dialogboks standardknapp er knappen som er trykket nar brukeren trykker Enter (Return). Denne knappen brukes til a indikere at brukeren aksepterer dialoginnstillingene og onsker a lukke dialogboksen. Bruk QPushButton :: setDefault (), QPushButton :: isDefault () og QPushButton :: autoDefault () for a angi og kontrollere dialogboksen standardknapp.

Escape Key.

Hvis brukeren trykker pa Esc-tasten i en dialogboks, vil QDialog :: reject () bli kalt. Dette vil fore til at vinduet lukkes: Lukk hendelsen kan ikke ignoreres.

Utvidelsesmuligheter.

Extensibility er muligheten til a vise dialogboksen pa to mater: en delvis dialog som viser de mest brukte alternativene, og en full dialog som viser alle alternativene. Vanligvis vises en utvidbar dialog i utgangspunktet som en partiell dialog, men med en mer veksle-knapp. Hvis brukeren trykker pa Mer-knappen, blir dialogen utvidet. Utvidelseseksemplet viser hvordan du kan oppna utvidbare dialoger ved hjelp av Qt.

Returverdi (Modal Dialogger)

Modale dialoger brukes ofte i situasjoner der en returverdi er nodvendig, for eksempel & # x2e; for a angi om brukeren trykket pa OK eller Avbryt. En dialogboks kan lukkes ved a kalle akseptene () eller reject () -sporene, og exec () vil returnere akseptert eller avvist etter behov. Exec () anrop returnerer resultatet av dialogboksen. Resultatet er ogsa tilgjengelig fra resultat () hvis dialogen ikke er odelagt.

For a endre dialogens n rme oppforsel, kan du reimplementere funksjonene akseptere (), avvise () eller ferdig (). Funksjonen closeEvent () bor bare gjenimplementeres for a bevare dialogens posisjon eller for a overstyre standard lukk eller avvisningshandling.

Kodeeksempler.

En modelllos dialog:

Medlemstype Dokumentasjon.

enum QDialog :: DialogCode.

Verdien returnert av en modal dialog.

Eiendomsdokumentasjon.

modal: bool.

Denne egenskapen inneb rer at show () burde dukke opp dialogen som modal eller modlos.

Denne egenskapen er som standard falsk og viser () dukker opp dialogen som modlos. A sette sin eiendom til ekte er lik innstillingen QWidget :: windowModality to Qt :: ApplicationModal.

exec () ignorerer verdien av denne egenskapen og popper alltid opp dialogen som modal.

sizeGripEnabled: bool.

Denne egenskapen gjelder om storrelsesgrepet er aktivert.

En QSizeGrip er plassert nederst til hoyre i dialogboksen nar denne egenskapen er aktivert. Som standard er storrelsesgrepet deaktivert.

Medlemsfunksjon Dokumentasjon.

QDialog :: QDialog (QWidget * foreldre = 0, Qt :: WindowFlags f = 0)

Konstruerer en dialog med foreldreforelder.

En dialogboks er alltid en toppniva-widget, men hvis den har en forelder, er standardplasseringen sentrert pa toppen av foreldrene. Det vil ogsa dele foreldrenes oppgavelinjeoppforing.

Widgetflaggene f sendes videre til QWidget-konstruktoren. Hvis du for eksempel ikke vil ha en What’s This-knappen i tittellinjen i dialogboksen, send Qt :: WindowTitleHint | Qt :: WindowSystemMenuHint i f.

Odelegger QDialog, sletter alle sine barn.

void QDialog :: accept () [virtuell plass]

Skjuler den modale dialogboksen og setter resultatkoden til Godta.

void QDialog :: accepted () [signal]

Dette signalet sendes ut nar dialogboksen er godkjent enten av brukeren eller ved a ringe akseptere () eller ferdig () med QDialog :: Accepted argumentet.

Merk at dette signalet ikke sendes ut nar du skjuler dialogen med skjul () eller setVisible (false). Dette inkluderer a slette dialogen mens den er synlig.

Denne funksjonen ble introdusert i Qt 4.1.

void QDialog :: closeEvent (QCloseEvent * e) [virtuelt beskyttet]

void QDialog :: contextMenuEvent (QContextMenuEvent * e) [virtuell beskyttet]

void QDialog :: done (int r) [virtuell plass]

Lukker dialogboksen og setter resultatkoden til r. Hvis denne dialogboksen vises med exec (), gjor gjort () arsaken til at den lokale hendelseslokken skal fullfores, og exec () for a returnere r.

Som med QWidget :: close (), ferdig () slettes dialogboksen hvis Qt :: WA_DeleteOnClose flagget er satt. Hvis dialogboksen er programmets hoveddisplay, avslutter programmet. Hvis dialogboksen er det siste vinduet lukket, sendes QApplication :: lastWindowClosed () signalet.

bool QDialog :: event (QEvent * e) [beskyttet]

bool QDialog :: eventFilter (QObject * o, QEvent * e) [beskyttet]

int QDialog :: exec () [virtuell plass]

Viser dialogboksen som en modal dialog, blokkerer til brukeren lukker den. Funksjonen returnerer et DialogCode-resultat.

Hvis dialogboksen er applikasjonsmodell, kan brukerne ikke samhandle med noe annet vindu i samme program for de lukker dialogboksen. Hvis dialogboksen er vindusmodell, blir bare samspill med foreldrevinduet blokkert mens dialogen er apen. Som standard er dialogboksen applikasjonsmodell.

void QDialog :: ferdig (int resultat) [signal]

Dette signalet sendes ut nar dialogens resultatkode er angitt, enten av brukeren eller ved a ringe gjort (), godta () eller avvise ().

Merk at dette signalet ikke sendes ut nar du skjuler dialogen med skjul () eller setVisible (false). Dette inkluderer a slette dialogen mens den er synlig.

Denne funksjonen ble introdusert i Qt 4.1.

void QDialog :: keyPressEvent (QKeyEvent * e) [virtuelt beskyttet]

QSize QDialog :: minimumSizeHint () const [virtuell]

void QDialog :: open () [virtuell plass]

Viser dialogboksen som en vindusmodell dialog, som returnerer umiddelbart.

Denne funksjonen ble introdusert i Qt 4.5.

void QDialog :: reject () [virtuell plass]

Skjuler den modale dialogboksen og setter resultatkoden til Avvist.

void QDialog :: rejected () [signal]

Dette signalet sendes ut nar dialogboksen er avvist enten av brukeren eller ved a ringe avvis () eller ferdig () med QDialog :: Forkastet argument.

Merk at dette signalet ikke sendes ut nar du skjuler dialogen med skjul () eller setVisible (false). Dette inkluderer a slette dialogen mens den er synlig.

Denne funksjonen ble introdusert i Qt 4.1.

void QDialog :: resizeEvent (QResizeEvent *) [virtuelt beskyttet]

int QDialog :: resultat () const.

Generelt returnerer den modale dialogens resultatkode, Godkjent eller Avvist.

Merk: Nar den er invitert til en QMessageBox-forekomst, er den returnerte verdien en verdi av QMessageBox :: StandardButton enum.

Ikke ring denne funksjonen hvis dialogboksen ble konstruert med Qt :: WA_DeleteOnClose-attributtet.

void QDialog :: setResult (int i)

Setter den modale dialogens resultatkode til i.

Merk: Vi anbefaler at du bruker en av verdiene som er definert av QDialog :: DialogCode.

void QDialog :: setVisible (bool visible) [virtuell]

void QDialog :: showEvent (QShowEvent * event) [virtuelt beskyttet]

QSize QDialog :: sizeHint () const [virtuell]

&kopiere; 2013 Digia Plc og / eller dets datterselskaper. Dokumentasjon bidrag inkludert her er opphavsrettene til deres respektive eiere.

Dokumentasjonen som er gitt her, er lisensiert i henhold til vilkarene i GNU Free Documentation License versjon 1.3 som publisert av Free Software Foundation.

Digia, Qt og deres respektive logoer er varemerker for Digia Plc i Finland og / eller andre land over hele verden. Alle andre varemerker tilhorer deres respektive eiere.