Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
DenisKh001 |
16.6.2011, 20:31
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 16.6.2011 Пользователь №: 2752 Спасибо сказали: 0 раз(а) Репутация: 0
|
Есть QTableview и соединенная с ней QSqlTableModel - все работает, все обновляется. А как удалить запись из модели? Скажем пользователь выделяет строчку и нажимает Del (обычно же так делается). Т.е. надо отловить какой-то сигнал на удаление строчки из QTableview, есть вообще такой?
|
|
|
|
|
maint |
16.6.2011, 21:02
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2
|
Цитата(DenisKh001 @ 17.6.2011, 2:31) Link Есть QTableview и соединенная с ней QSqlTableModel - все работает, все обновляется. А как удалить запись из модели? Скажем пользователь выделяет строчку и нажимает Del (обычно же так делается). Т.е. надо отловить какой-то сигнал на удаление строчки из QTableview, есть вообще такой? Так делается необычно. НО можно. Надо ловить нажатие клавищи по keyPressEvent. Дальше узнаем в QTableView текущую позицию с помощью table->currentIndex() и удаляем model->removeRow. Для фиксации результата model->submitAll(); |
|
|
|
|
Litkevich Yuriy |
17.6.2011, 8:28
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Нужно создать действие (QAction) и назначить ему кнопку (Delete)
Установить это действие для таблицы (QTableView). Связать сигнал активации действия с самописанным слотом окна (в котором находится твоя таблица). В слоте нужно сделать как написал maint. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 26.12.2025, 2:56 |