Сред елементите на формуляра на прозореца на потребителския интерфейс полетата за избор или въвеждане на данни са от особено значение. Обработката на зададените стойности често трябва да е мигновена. Следователно разработчикът трябва да получи информация за всяка промяна в прозорците. В различни ситуации, когато четете стойност на поле, трябва да вземете предвид конкретния тип данни и обхвата на елемента на формуляра.
Инструкции
Етап 1
Когато се разработват приложения с библиотеката за програмиране Qt, прозорците обикновено се създават от приспособления (клас QWidget) или диалогови прозорци (QDialog). Елементи за избор или въвеждане на данни се добавят към обекти от посочените класове и се намират визуално в стандартен или диалогов прозорец.
Стъпка 2
Използвайте класа QComboBox, за да работите със падащия списък. Неговото видимо работно поле може да бъде активно за въвеждане на данни или заключено. Ако потребителят е в състояние да въведе стойност в полето, можете да я получите, като се обърнете към обекта от списъка. Примерен код: QComboBox m_comb; QString резултат; result = m_comb.currentText (); Тук обектът m_comb, използващ метода currentText (), връща текущата стойност на горното поле и той може да бъде въведен или избран в падащото меню списък. Резултатът от променлива низ съдържа стойността от видимото работно поле на комбинираното поле.
Стъпка 3
Въведеният тип данни обаче може да бъде и цифров. За да конвертирате низови стойности в необходимия тип, изпълнете една от следните операции: double resD = result.toDouble (); float resF = result.toFloat (); int resI = result.toInt (); Тук получената стойност на полето ще се съхранява в променливата resD, но вече в двойна, в resF - плаваща стойност и в resI - целочислена стойност int.
Стъпка 4
Когато използвате едноредов текстов редактор QLineEdit като елемент за въвеждане на данни, вземете необходимата информация със следния запис: result = m_edit.text (). Тук обектът m_edit, използвайки функцията text (), връща стойността на низа, въведена от потребителя в полето.
Стъпка 5
Елемент QListBox може да изпълнява подобна функция във прозоречна форма, достъпът до въведените данни за този обект също е подобен на предварително посочения: m_list.currentText ().
Стъпка 6
Когато осъществявате достъп до всички екземпляри на описаните класове, трябва да имате съответните права за достъп, тъй като извикването на частни методи и обекти е невъзможно от функции на трети страни. Разглежданите методи за получаване на стойността на полето имат отворен статус.