Blant elementene i skjermbildet for brukergrensesnittet, er valg eller felt for datainnføring av spesiell betydning. Behandlingen av de angitte verdiene må ofte være øyeblikkelig. Derfor må utvikleren motta informasjon om eventuelle endringer i vinduene. I forskjellige situasjoner, når du leser en feltverdi, må du vurdere den spesifikke datatypen og omfanget av skjemaelementet.
Bruksanvisning
Trinn 1
Når du utvikler applikasjoner med Qt-programmeringsbiblioteket, blir vindusskjemaer vanligvis opprettet fra widgets (QWidget-klasse) eller dialoger (QDialog). Elementer for valg eller datainnføring legges til objekter fra de angitte klassene og er visuelt plassert i en standard- eller dialogboks.
Steg 2
Bruk QComboBox-klassen til å jobbe med rullegardinlisten. Det synlige arbeidsfeltet kan være aktivt for dataregistrering eller låst. Hvis brukeren er i stand til å angi en verdi i feltet, kan du få den ved å referere til listeobjektet. Eksempelkode: QComboBox m_comb; QString-resultat; result = m_comb.currentText (); Her returnerer m_comb-objektet ved hjelp av currentText () -metoden gjeldende verdi av toppfeltet, og den kan enten legges inn eller velges i rullegardinmenyen liste. Strengvariabelresultatet inneholder verdien fra det synlige arbeidsfeltet i kombinasjonsboksen.
Trinn 3
Den angitte datatypen kan imidlertid også være numerisk. For å konvertere strengverdier til ønsket type, utfør en av følgende operasjoner: dobbelt resD = resultat.tilDobbelt (); flyte resF = resultat.tilFloat (); int resI = resultat.tilInt (); Her vil den resulterende feltverdien bli lagret i resD-variabelen, men allerede i en dobbel, i resF - en flyteverdi, og i resI - en int-heltallverdi.
Trinn 4
Når du bruker QLineEdit tekstredigerer med én linje som et datainnføringselement, ta tak i informasjonen du trenger med følgende oppføring: resultat = m_edit.text (). Her returnerer m_edit-objektet, ved hjelp av teksten () -funksjonen, strengverdien som er angitt av brukeren i feltet.
Trinn 5
Et QListBox-element kan utføre en lignende funksjon i vindusform, tilgang til de angitte dataene for dette objektet er også lik den tidligere spesifiserte: m_list.currentText ().
Trinn 6
Når du får tilgang til alle forekomster av de beskrevne klassene, må du ha de riktige tilgangsrettighetene, siden det er umulig å ringe private metoder og objekter fra tredjepartsfunksjoner. De vurderte metodene for å få feltverdien har en åpen status.