Як отримати значення поля

Як отримати значення поля

Серед елементів віконної форми користувацького інтерфейсу особливу важливість мають поля вибору або введення даних. Обробка значень, що встановлюються, часто повинна відбуватися миттєво. Тому розробнику необхідно отримувати інформацію при будь-якій зміні у вікнах. У різних ситуаціях при зчитуванні значення поля слід враховувати конкретний тип даних та область видимості елемента форми.

Інструкція

1. При розробці програм за допомогою бібліотеки програмування Qt віконні форми зазвичай створюються на основі віджетів (клас QWidget) або діалогів (QDialog). Елементи для вибору або введення даних додаються до об 'єктів зазначених класів і візуально розташовуються на стандартному або діалоговому вікні.


2. Для роботи зі спадним списком скористайтеся класом QComboBox. Його видиме робоче поле може бути активним для введення даних або заблокованим. Якщо користувач має можливість ввести в поле значення, то отримати його можна, звернувшись до об 'єкта списку. Приклад коду:QComboBox m_comb;QString result; result = m_comb.currentText (); Тут об 'єкт m_comb за допомогою методу currentText () повертає поточне значення верхнього поля, причому воно може бути як введеним, так і обраним у спадному списку. У рядковій змінній result збережено значення з видимого робочого поля комбінації.

3. Однак ведений тип даних може бути і числовим. Щоб перевести рядкові значення в потрібний тип, виконайте одну з таких дій:double resD = result.toDouble();float resF = result.toFloat();int resI = result.toInt(); Тут у змінну resD збережеться отримане значення поля, але вже в double, в resF - значення типу float і в resI - цілочисельне значення int.

4. Якщо ви використовуєте елемент для введення даних редактора однострокового тексту QLineEdit, візьміть інформацію за допомогою наступного запису: result = m_edit.text(). Тут об 'єкт m_edit за допомогою функції text () повертає введене користувачем в поле рядкове значення.

5. Елемент QListBox може виконувати подібну функцію у віконній формі, доступ до введених даних для цього об 'єкта також схожий на раніше вказаний: m_list.currentText().

6. Звертаючись до всіх примірників описаних класів, необхідно мати права на відповідний доступ, оскільки виклик закритих методів і об 'єктів неможливий із сторонніх функцій. Розглянуті методи для отримання значення поля мають відкритий статус.