Я использую с помощью QTableView
в сочетании с табличной моделью, полученной из QAbstaractTableModel
, Теперь я хочу вставить строки / столбцы (которые представляют состояния / входные символы), но мне нужно передать строку в качестве метки (которая затем отображается в HeaderView) для состояния / входного символа до моих классов данных.
bool TransTableModel::insertRows(int position, int rows, const QModelIndex &index)
{
beginInsertRows(index, position, position+rows-1);
garage->addUsedState("q6");
endInsertRows();
}
TransTableModel
моя заказная модель Моя проблема: как получить эту строку от пользователя? В этом случае я жестко закодирован "q6"
как ярлык, но мне нужно, чтобы это было предоставлено пользователем. Есть ли способ? Должен ли я открыть диалог ввода? Из модельного класса?
Если модели нужны эти данные, они должны быть предоставлены представлением, которое затем может открыть диалог ввода.
Вы можете добавить функцию-член в вашу модель, чтобы передать этот дополнительный параметр и вызвать его из класса представления вместо вызова «обычного» insertRows
(вам не нужно звонить insertRows
в этой новой функции либо просто beginInsertRows
а также endInsertRows
).
Других решений пока нет …