Название: Выборка из БД по клику на кнопке Отправлено: alina от Декабрь 25, 2011, 18:10 Добрый день!
Необходимо сделать следующее: по изменению значения в ComboBox сделать выборку необходимых значений из БД, но вывести в TableView по нажатию на кнопку. Делаю следующим образом: {....... connect(ui->cbBrigada, SIGNAL(currentIndexChanged(int)), this, SLOT(Brigada())); connect(ui->pbSelect, SIGNAL(clicked()), this, SLOT(selectDate())); ....... } void RemBrigadaOpen::Brigada() { brigada = 1; } void RemBrigadaOpen::selectBrigada(int row) { if(brigada == 1) { QModelIndex index = model->relationModel(2)->index(row, 1); model->setFilter("Name_Brigada = '" + index.data().toString() + '\'') ; model->select(); } Нет никакой реакции. Подскажите, пожалуйста, как правильно сделать. Название: Re: Выборка из БД по клику на кнопке Отправлено: LisandreL от Декабрь 25, 2011, 23:41 А где вы selectBrigada вызываете?
Название: Re: Выборка из БД по клику на кнопке Отправлено: alina от Декабрь 26, 2011, 19:56 Извините, ошиблась.
Вместо connect(ui->pbSelect, SIGNAL(clicked()), this, SLOT(selectDate())); строчка connect(ui->pbSelect, SIGNAL(clicked()), this, SLOT(selectBrigada())); Название: Re: Выборка из БД по клику на кнопке Отправлено: kambala от Декабрь 26, 2011, 20:07 так неправильно (у метода ж есть параметр, а в коннекте он не указан). может все-таки connect(ui->cbBrigada, SIGNAL(currentIndexChanged(int)), this, SLOT(selectBrigada(int))) ?
Название: Re: Выборка из БД по клику на кнопке Отправлено: alina от Декабрь 27, 2011, 19:37 так неправильно (у метода ж есть параметр, а в коннекте он не указан). может все-таки connect(ui->cbBrigada, SIGNAL(currentIndexChanged(int)), this, SLOT(selectBrigada(int))) ? Изначально все так у меня и работало: по изменению значения в виджете вызывался слот selectBrigada(int). А нужно сделать, чтобы выборка происходила не сразу после изменения значения в виджете, а по клику мыши. Название: Re: Выборка из БД по клику на кнопке Отправлено: kambala от Декабрь 27, 2011, 20:16 тогда это правильно:
connect(ui->pbSelect, SIGNAL(clicked()), this, SLOT(selectBrigada())); а у метода selectBrigada(int row) надо просто убрать параметр |