QStandardItemModel Class Reference.

Arvediagram for QStandardItemModel:

[legend] Samarbeid diagram for QStandardItemModel:

Detaljert beskrivelse.

QStandardItemModel gir en klassisk elementbasert tiln rming til a jobbe med modellen. Elementene i en QStandardItemModel leveres av QStandardItem.

QStandardItemModel implementerer QAbstractItemModel-grensesnittet, som betyr at modellen kan brukes til a gi data i alle visninger som stotter dette grensesnittet (for eksempel QListView, QTableView og QTreeView, og dine egne tilpassede visninger). For ytelse og fleksibilitet, vil du kanskje ha underklasse QAbstractItemModel for a gi stotte til ulike typer datalager. For eksempel gir QDirModel et modellgrensesnitt til det underliggende filsystemet, og lagrer ikke filinformasjon internt.

Nar du vil ha en liste eller et tre, lager du vanligvis en tom QStandardItemModel og bruker appendRow () for a legge til elementer i modellen og elementet () for a fa tilgang til et element. Hvis modellen representerer et bord, passerer du vanligvis dimensjonene til bordet til QStandardItemModel-konstruktoren og bruker setItem () til a plassere elementer i tabellen. Du kan ogsa bruke setRowCount () og setColumnCount () for a endre modellens dimensjoner. For a sette inn elementer, bruk insertRow () eller insertColumn (), og for a fjerne elementer, bruk removeRow () eller removeColumn ().

Du kan soke etter elementer i modellen med findItems (), og sortere modellen ved a ringe sort ().

Kallklar () for a fjerne alle elementer fra modellen.

Et eksempel pa bruk av QStandardItemModel for a lage et bord:

Et eksempel pa bruk av QStandardItemModel for a lage et tre:

Etter a ha satt modellen pa en visning, vil du vanligvis reagere pa brukerhandlinger, for eksempel et element som klikkes. Siden QAbstractItemView gir QModelIndex-baserte signaler og funksjoner, trenger du en mate a oppna QStandardItem som tilsvarer en gitt QModelIndex, og omvendt. itemFromIndex () og indexFromItem () gir denne kartleggingen. Typisk bruk av itemFromIndex () inkluderer a skaffe elementet i den nav rende indeksen i en visning, og oppna elementet som tilsvarer en indeks som b res av et QAbstractItemView-signal, for eksempel QAbstractItemView :: clicked (). Forst kobler du visningen til et spor i klassen din:

Nar du mottar signalet, ringer du elementFromIndex () pa den oppgitte modellindeksen for a fa en peker til elementet:

Omvendt ma du oppna QModelIndex for et element nar du vil pakalle en modell / visning-funksjon som tar en indeks som argument. Du kan oppna indeksen enten ved a bruke modellens indexFromItem () -funksjon, eller, tilsvarende, ved a ringe QStandardItem :: index ():

Du er selvfolgelig ikke palagt a bruke elementbasert tiln rming; Du kan i stedet stole pa QAbstractItemModel-grensesnittet nar du arbeider med modellen, eller bruk en kombinasjon av de to som passer.

Offentlige medlemsfunksjoner.

Beskyttede medlemsfunksjoner.

Constructor & amp; Destructor Dokumentasjon.

Konstruerer en ny varemodell med den oppgitte forelder.

Konstruerer en ny elementmodell som i utgangspunktet har rader i kolonner i kolonner og kolonner, og den har den forlagte formen.

Destructs modellen. Modellen odelegger alle sine gjenstander.

Medlemsfunksjon Dokumentasjon.

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

QStandardItemModel stotter bade kopi og flytting.

Her er anropsgrafen for denne funksjonen:

Her er anropsgrafen for denne funksjonen:

Fjerner alle elementer (inkludert overskriftstyper) fra modellen og setter antall rader og kolonner til null.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer en peker til QStandardItem assosiert med den angitte indeksen.

A ringe denne funksjonen er vanligvis det forste trinnet nar du behandler QModelIndex-baserte signaler fra en visning, for eksempel QAbstractItemView :: activated (). I sporet ditt ringer du elementFromIndex (), med QModelIndex baret av signalet som argument, for a skaffe en peker til den tilsvarende QStandardItem.

Legg merke til at denne funksjonen lazily lager et element for indeksen (ved hjelp av itemPrototype ()), og sett det i foreldreelementets barnbord, hvis det ikke finnes noe element pa den indeksen.

Hvis indeksen er en ugyldig indeks, returnerer denne funksjonen 0.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer QModelIndex assosiert med det gitte elementet.

Bruk denne funksjonen nar du vil utfore en operasjon som krever QModelIndex av elementet, for eksempel QAbstractItemView :: scrollTo (). QStandardItem :: index () er gitt som bekvemmelighet; det tilsvarer a ringe denne funksjonen.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer elementet for den gitte rad og kolonne hvis en er satt; ellers returnerer 0.

Siden: 4.2 Setter elementet for den oppgitte raden og kolonnen til elementet. Modellen tar eierskap av varen. Om nodvendig okes radtellingen og kolonneantallet for a passe elementet. Det forrige elementet pa det oppgitte stedet (hvis det var en) slettes.

Her er anropsgrafen for denne funksjonen:

Dette er en overbelastet medlemsfunksjon, for enkelhets skyld. Det adskiller seg fra funksjonen ovenfor bare i hvilket argument det aksepterer.

Siden: 4.2 Returnerer modellens usynlige rotelement.

Det usynlige rotelementet gir tilgang til modellens toppnivaelementer gjennom QStandardItem API, som gjor det mulig a skrive funksjoner som kan behandle toppnivaer og deres barn pa en ensartet mate. for eksempel rekursive funksjoner som involverer en tremodell.

Siden: 4.2 Returnerer det horisontale overskriftelementet for kolonne hvis en er satt; ellers returnerer 0.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Angir det horisontale overskriftelementet for kolonne til element. Modellen tar eierskap av varen. Om nodvendig okes kolonneantalet for a passe elementet. Forrige topptekst (hvis det var en) slettes.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer det vertikale overskriftelementet for radraden hvis en er satt; ellers returnerer 0.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Angir det vertikale overskriftelementet for rad til element. Modellen tar eierskap av varen. Om nodvendig okes radtellingen for a passe elementet. Forrige topptekst (hvis det var en) slettes.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Angir de horisontale topptekstene ved hjelp av etiketter. Om nodvendig okes kolonnenummeret til storrelsen pa etikettene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Angir de vertikale topptekstene ved hjelp av etiketter. Om nodvendig okes radtallet til storrelsen pa etikettene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Setter antall rader i denne modellen til rader. Hvis dette er mindre enn rowCount (), blir dataene i uonskede rader kassert.

Siden: 4.2 Angir antall kolonner i denne modellen til kolonner. Hvis dette er mindre enn columnCount (), blir dataene i de uonskede kolonnene kassert.

Siden: 4.2 Legger til en rad som inneholder elementer. Om nodvendig okes kolonneantalet til storrelsen pa elementene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Legger til en kolonne som inneholder elementer. Om nodvendig okes radtellingen til storrelsen pa elementene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Dette er en overbelastet medlemsfunksjon, for enkelhets skyld. Det adskiller seg fra funksjonen ovenfor bare i hvilket argument det aksepterer. Nar du bygger en liste eller et tre som bare har en kolonne, gir denne funksjonen en enkel mate a legge til et enkelt nytt element.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Setter inn en rad pa rad som inneholder elementer. Om nodvendig okes kolonneantalet til storrelsen pa elementene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Setter inn en kolonne i kolonne som inneholder elementer. Om nodvendig okes radtellingen til storrelsen pa elementene.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Dette er en overbelastet medlemsfunksjon, for enkelhets skyld. Det adskiller seg fra funksjonen ovenfor bare i hvilket argument det aksepterer. Setter inn en rad pa rad som inneholder element.

Nar du bygger en liste eller et tre som bare har en kolonne, gir denne funksjonen en enkel mate a legge til et enkelt nytt element.

Her er anropsgrafen for denne funksjonen:

Setter inn en enkelt rad for den oppgitte raden i barnets gjenstander av den angitte overordnede. Returnerer sant hvis raden er satt inn; ellers returnerer false.

Her er anropsgrafen for denne funksjonen:

Setter inn en enkelt kolonne for den oppgitte kolonnen i barnets gjenstander av den angitte overordnede. Returnerer sant hvis kolonnen er satt inn; ellers returnerer false.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Fjerner varen pa (rad, kolonne) uten a slette den. Modellen frigjor eierskap av varen.

Siden: 4.2 Fjerner den oppgitte raden uten a slette radene, og returnerer en liste med pekere til de fjernede elementene. Modellen frigjor eierskap av elementene. For elementer i raden som ikke er innstilt, vil de tilsvarende punktene i listen v re 0.

Siden: 4.2 Fjerner den oppgitte kolonnen uten a slette kolonneelementene, og returnerer en liste med pekere til de fjernede elementene. Modellen frigjor eierskap av elementene. For elementer i kolonnen som ikke er angitt, vil de tilsvarende punktene i listen v re 0.

Siden: 4.2 Fjerner det horisontale overskriftelementet i kolonnen fra overskriften uten a slette det, og returnerer en peker til elementet. Modellen frigjor eierskap av varen.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Fjerner det vertikale overskriftelementet pa rad fra overskriften uten a slette det, og returnerer en peker til elementet. Modellen frigjor eierskap av varen.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer prototypen som brukes av modellen. Modellen bruker elementprototypen som en varefabrik nar den trenger a bygge nye varer pa ettersporsel (for eksempel nar en visning eller elementet delegerer kalles setData ()).

Siden: 4.2 Setter elementets prototype for modellen til det angitte elementet. Modellen tar eierskap av prototypen.

Artikkelen prototype fungerer som en QStandardItem-fabrikk, ved a stole pa QStandardItem :: klone () -funksjonen. For a gi din egen prototype, underklasse QStandardItem, reimplement QStandardItem :: klone () og sett prototypen som en forekomst av din egen klasse. Nar QStandardItemModel trenger a opprette et element pa ettersporsel (for eksempel nar en visning eller elementet delegerer kalles setData ())), vil de nye elementene v re tilfeller av din egen klasse.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Returnerer en liste over elementer som samsvarer med den oppgitte teksten, ved hjelp av de oppgitte flaggene, i den oppgitte kolonnen.

Her er anropsgrafen for denne funksjonen:

Siden: 4.2 Dette signalet sendes ut nar dataene i elementet har endret seg.