Među elementima obrasca prozora korisničkog sučelja posebno su važna polja za odabir ili unos podataka. Obrada postavljenih vrijednosti često mora biti trenutna. Stoga programer mora dobiti informacije o bilo kojoj promjeni u prozorima. U različitim situacijama, prilikom čitanja vrijednosti polja, morate uzeti u obzir određeni tip podataka i opseg elementa obrasca.
Instrukcije
Korak 1
Kada se razvijaju aplikacije s Qt programskom bibliotekom, obrasci prozora se obično kreiraju od dodataka (klasa QWidget) ili dijaloga (QDialog). Elementi za odabir ili unos podataka dodaju se objektima navedenih klasa i vizualno se nalaze na standardnom ili dijaloškom okviru.
Korak 2
Koristite klasu QComboBox za rad sa padajućom listom. Njegovo vidljivo radno polje može biti aktivno za unos podataka ili zaključano. Ako korisnik može unijeti vrijednost u polje, tada je možete dobiti pozivanjem na objekt liste. Primjer koda: QComboBox m_comb; Rezultat QString; rezultat = m_comb.currentText (); Ovdje objekt m_comb pomoću metode currentText () vraća trenutnu vrijednost gornjeg polja i može se unijeti ili odabrati u padajućem izborniku lista. Rezultat varijable string sadrži vrijednost iz vidljivog radnog polja kombiniranog okvira.
Korak 3
Međutim, uneseni tip podataka može biti i numerički. Da biste pretvorili vrijednosti niza u traženi tip, izvedite jednu od sljedećih operacija: double resD = result.toDouble (); float resF = result.toFloat (); int resI = result.toInt (); Ovdje će se rezultirajuća vrijednost polja pohraniti u resD varijablu, ali već u duplu, u resF - plutajuću vrijednost, a u resI - cijelu cijelu vrijednost.
Korak 4
Kada koristite QLineEdit jednoredni uređivač teksta kao element za unos podataka, dohvatite potrebne informacije sljedećim unosom: result = m_edit.text (). Ovdje objekt m_edit, koristeći funkciju text (), vraća vrijednost niza koju je korisnik unio u polje.
Korak 5
Element QListBox može izvoditi sličnu funkciju u prozorčićem obliku, pristup unesenim podacima za ovaj objekt također je sličan prethodno navedenom: m_list.currentText ().
Korak 6
Kada pristupate svim instancama opisanih klasa, morate imati odgovarajuća prava pristupa, jer je pozivanje privatnih metoda i objekata nemoguće iz funkcija nezavisnih proizvođača. Razmatrane metode za dobivanje vrijednosti polja imaju status otvorenosti.