Russian Qt Forum
Сентябрь 30, 2024, 12:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel и QTableView. Индексы. Не понимаю.  (Прочитано 2732 раз)
smartchecker
Гость
« : Май 18, 2012, 15:53 »

Как отслеживается связь между view и model?
Я выбрал в таблице (во view'хе) строку. Как получить её индекс в модели?
Код
C++ (Qt)
   authorsModel = new QSqlTableModel(this, QSqlDatabase::database(connectionName));
   authorsModel->setTable("authors");
   authorsModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
   authorsIdx = authorsModel->fieldIndex("id");
   authorsModel->select();
 
   authorsModel->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("ФИО"));
 
   ui->authorsTableView->setModel(authorsModel);
   ui->authorsTableView->setCurrentIndex(authorsModel->index(0, 0));
   ui->authorsTableView->setColumnHidden(0, true);
 
Записан
smartchecker
Гость
« Ответ #1 : Май 18, 2012, 17:08 »

Вроде разобрался.
Код
C++ (Qt)
QModelIndex recIdx = ui->authorsTableView->currentIndex();
 
qDebug() << authorsModel->record(recIdx.row()).value("fname").toString();
 
Но возникает другой вопрос. Как лучше организовать некое извращение.
Есть вот эта связка модель-вьюха. Из неё надо выбрать ряд записей и заполнить ими модель в родительском диалоге.
Я себе это вижу так:
За один раз выбирается одна запись и её id передаётся в родительский диалог, где эта id добавляется к фильтру модели.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Май 18, 2012, 17:09 »

см QDataWidgetMapper
Записан
smartchecker
Гость
« Ответ #3 : Май 18, 2012, 17:17 »

А чем он здесь поможет?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.163 секунд. Запросов: 22.