Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Alexsandr от Декабрь 17, 2011, 19:19



Название: comboBox и база данных
Отправлено: Alexsandr от Декабрь 17, 2011, 19:19
Здравствуйте, возникла такая проблема:
Есть comboBox и база данных в которой 2 столбца (id, name), вывожу в combobox столбец name:
 Select = new QSqlQueryModel;
      QSqlQuery select = QString("SELECT Name FROM name");
      Select->setQuery(select);
     ui->comboBox->setModel(Select);
В комбобокс всё выводиться, !!!но!!! нужно что бы при выборе элемента из комбобокса,  значение этого элемента присваивалось переменной, что то вроде этого:
QModelIndex b;
      QVariant z;
b = ui->comboBox->model()->index(0, 0, QModelIndex());
     z = ui->comboBox->model()->data(bzz, Qt::DisplayRole);
    h1 = z.toString();
В данном случае переменной h1 передается только значение элемента с индексом (0, 0) (первая запись в боксе), так вот как сделать, что бы при выборе элемента в боксе, переменной присваивались соответствующие значения? То есть что сделать, что бы индекс строки менялся в соответствии с выбором элемента??? Или же может быть есть какой нибудь другой выход из этого положения?


Название: Re: comboBox и база данных
Отправлено: kambala от Декабрь 17, 2011, 20:14
void QComboBox::currentIndexChanged ( int index ) [signal]


Название: Re: comboBox и база данных
Отправлено: Alexsandr от Декабрь 17, 2011, 20:39
Если не сложно, можно поподробнее :-\


Название: Re: comboBox и база данных
Отправлено: BuRn от Декабрь 17, 2011, 20:44
ну вот обрабатываешь сигнал, после в слоте принимаешь этот индекс и погнал


Название: Re: comboBox и база данных
Отправлено: kambala от Декабрь 17, 2011, 20:58
Если не сложно, можно поподробнее :-\
поподробнее - почитать про механизм сигналов-слотов


Название: Re: comboBox и база данных
Отправлено: Alexsandr от Декабрь 18, 2011, 07:52
Всё спасибо!!! Разобрался!!! ;D