Как я могу вытащить выбранное ЗНАЧЕНИЕ из QCombobox?

В QT я могу добраться selected text из a QComboBox при помощи combobox->currentText() метод. Как я могу добраться selected value?

Я искал справку, но я не мог найти метод currentData() который я ожидал находить. Я мог только найти combobox->currentIndex()

Есть ли более умный способ сделать это кроме combobox->itemData(combobox->currentIndex())?

Обновление: Это больше не необходимо с Qt 5. A currentData() методом был добавленный http://doc.qt.io/qt-5/qcombobox.html#currentData-prop

79
задан sabbour 9 September 2018 в 06:05
поделиться

2 ответа

Похоже, вам нужно сделать Combobox-> ItemData (Combobox-> CurrentIndex )) Если вы хотите получить текущие данные qcombobox.

Если вы используете свой собственный класс, полученный из QcomboBobox, вы можете добавить функцию currentData () .

78
ответ дан 24 November 2019 в 10:14
поделиться

Вы можете установить данные QVaryt для всех элементов, то вы можете получить значение, когда вам это нужно.

Для этой ситуации есть пример код:

ui.comboBoxSheetSize->addItem("128 m", QVariant(128));
ui.comboBoxSheetSize->addItem("256 m", QVariant(256));
ui.comboBoxSheetSize->addItem("512 m", QVariant(512));
ui.comboBoxSheetSize->addItem("1024 m", QVariant(1024));

...

void Page::onComboSheetSizeChanged( int index )
{
 int value = ui.comboBoxSheetSize->itemData(index).toInt();
}

, кстати, я думаю, что я неправильно понял ваш вопрос. Я думаю, как вы получаете данные, достаточно умны?

20
ответ дан 24 November 2019 в 10:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: