Ввод данных для QTableView с QSqlTableModel

У меня есть базовый QTableView, отображающий данные из таблицы SQLite с QSqlTableModel.

Ввод данных осуществляется родительским диалоговым окном, имеющим несколько виджетов, представляющих данные поля, и кнопку «Добавить».
Удаление данных осуществляется с помощью кнопки «Удалить выбранные строки».

Все очень функционально, но я нахожу это невероятно неуклюжим и хочу попробовать лучший путь.

В идеале я хотел бы, чтобы в представлении была пустая строка, в которую пользователь может просто начать вводить свои данные. В конце каждой строки кнопка, чтобы удалить эту конкретную строку (вроде как вертикальные заголовки, но с кнопкой вместо номеров строк).

Я думаю, что это может быть достигнуто с помощью подкласса QTableView, но идея перекрасить все немного устрашает …

Есть ли у кого-нибудь совет о том, как я могу поступить по этому поводу, может быть, с помощью делегатов (по общему признанию, то, что я раньше не использовал) или другой более простой метод, который я упустил?

0

Решение

Из того, что вы описываете, вам не нужно беспокоиться о перекраске чего-либо. Просто вы можете добавить QButton в последней ячейке строки. Есть несколько ответов / статей о добавлении кнопки в QTableView:

  1. http://qtadventures.wordpress.com/2012/02/04/adding-button-to-qviewtable/
  2. Добавление кнопки в QTableview

Во-вторых, с возможностью добавления пользователем строки непосредственно прочитайте разделы этой статьи о том, как сделать модель редактируемой и вставить / удалить строки.

  1. http://doc.qt.io/archives/qt-4.7/model-view-programming.html#making-the-model-editable
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector