crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Получение сигнала после выбора строки в tableview, Получение сигнала после выбора строки в tableview
lexflax
  опции профиля:
сообщение 3.1.2015, 6:22
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 26.5.2013
Пользователь №: 3841

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток.
Парни подскажите есть ли какой нибудь сигнал при двойном нажатии на строку из tableview?
У меня в Tableview выгружается информация из таблицы, несколько строк...
Хочу чтоб при двойном нажатии на любую строку , создавалась форма...
Как добавить форму знаю, не знаю как получить сигнал двойного клика на строчку в tableview... В qt такая возможность есть?
Заранее спасибо всем кто откликнется на вопрос.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
aasavelev
  опции профиля:
сообщение 3.1.2015, 6:44
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 20.12.2013
Пользователь №: 4015

Спасибо сказали: 2 раз(а)




Репутация:   0  


Да есть сигнал называется
DoubleClicked(QMOdelIndex newItem).

Только в mOdelIndex попадает та ячейка на которой кликнул.
Получить данный из строки но другой столбец можно так:
newItem.model()->index(newItem.row(),0).data(Qt::DisplayRole).toString()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lexflax
  опции профиля:
сообщение 3.1.2015, 11:11
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 26.5.2013
Пользователь №: 3841

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(aasavelev @ 3.1.2015, 7:44) *
Да есть сигнал называется
DoubleClicked(QMOdelIndex newItem).

Только в mOdelIndex попадает та ячейка на которой кликнул.
Получить данный из строки но другой столбец можно так:
newItem.model()->index(newItem.row(),0).data(Qt::DisplayRole).toString()


Спасибо все работает, нужное окно вызывается... Появился другой нюанс...

мне нужно по 2 щелчку вызывать 5 разных окон, в зависимости от того какие данные сейчас загружены в tableview.
Если загружены данные о возвратах то будет вызвано окно для редактирования возвратов, если загружены расходные накладные то будет вызвано окно для редактирования расходных накладных.
Сейчас естественно при любой загрузке вызывается одно и тоже окно...
Данные загружаются после выбора в combobox
void MainWindow::echoChanged(int index)
{
    QSqlQueryModel *rashodnie = new QSqlQueryModel;
    QSqlQuery query;
switch (index){
case 0:
    query.exec("SELECT * FROM rashodnie_nacladnie");
    break;
case 1:
    query.exec("SELECT * FROM vozvrati");
break;
case 2:
    query.exec("SELECT * FROM d_postuplenia");
    break;
case 3:
    query.exec("SELECT * FROM prihodi");
break;
case 4:
    query.exec("SELECT * FROM spisania");
break;

    default:
            return;  }
rashodnie->setQuery(query);
ui->tableView->setModel(rashodnie);
}

Можно как то связь эту установить чтоб учитывалось из какой таблицы сейчас выгружены данные, и тогда после двойного клика вызывалось нужное окно
1
2
3
4
void MainWindow::insertRecord(){
      Prosmotrrashodnakladnih *prosmotrnakladnih = new Prosmotrrashodnakladnih;
      prosmotrnakladnih->show();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 23:33