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đenu vrstu podataka i opseg elementa obrasca.
Upute
Korak 1
Pri razvoju aplikacija s programskom knjižnicom Qt, obrasci prozora obično se izrađuju od widgeta (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 s padajućim popisom. Vidljivo radno polje može biti aktivno za unos podataka ili zaključano. Ako je korisnik u polje mogao unijeti vrijednost, tada je možete dobiti pozivanjem na objekt popisa. Primjer koda: QComboBox m_comb; Rezultat QString; result = 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 popis. Rezultat varijable niza sadrži vrijednost iz vidljivog radnog polja kombiniranog okvira.
3. korak
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 double, u resF - plutajuću vrijednost, a u resI - cijelu vrijednost int.
4. korak
Kada koristite QLineEdit jednoredni uređivač teksta kao element za unos podataka, dohvatite potrebne podatke 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 obliku prozora, 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 treće strane. Razmatrane metode za dobivanje vrijednosti polja imaju status otvorenosti.