Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получение сигнала после выбора строки в tableview
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
lexflax
Доброго времени суток.
Парни подскажите есть ли какой нибудь сигнал при двойном нажатии на строку из tableview?
У меня в Tableview выгружается информация из таблицы, несколько строк...
Хочу чтоб при двойном нажатии на любую строку , создавалась форма...
Как добавить форму знаю, не знаю как получить сигнал двойного клика на строчку в tableview... В qt такая возможность есть?
Заранее спасибо всем кто откликнется на вопрос.
aasavelev
Да есть сигнал называется
DoubleClicked(QMOdelIndex newItem).

Только в mOdelIndex попадает та ячейка на которой кликнул.
Получить данный из строки но другой столбец можно так:
newItem.model()->index(newItem.row(),0).data(Qt::DisplayRole).toString()
lexflax
Цитата(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();
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.