Как получить значение поля

Как получить значение поля

Среди элементов оконной формы пользовательского интерфейса особую важность имеют поля выбора или ввода данных. Обработка устанавливаемых значений зачастую должна происходить мгновенно. Поэтому разработчику необходимо получать информацию при любом изменении в окнах. В разных ситуациях при считывании значения поля нужно учитывать конкретный тип данных и область видимости элемента формы.

Инструкция

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. Обращаясь ко всем экземплярам описанных классов, необходимо иметь права на соответствующий доступ, так как вызов закрытых методов и объектов невозможен из сторонних функций. Рассматриваемые методы для получения значения поля имеют открытый статус.