Панель поиска Qt TableView

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

jqGrid Searchbar

Насколько я понимаю, QSortFilterProxyModel поддерживает фильтрацию. Это сторона модели. Я ищу соответствующий элемент пользовательского интерфейса на стороне просмотра. Или я должен сам писать?


person Horst Walter    schedule 21.12.2014    source источник
comment
Я не думаю, что это возможно с существующими мерходами. Я бы создал собственный класс, производный от QWidget, для заголовка, который содержит QLabel и QLineedit в макете.   -  person Bowdzone    schedule 21.12.2014


Ответы (1)


вы можете вставить строку в свой tableView с model, который вы используете на ней.

model->insertRow(0); //inserts row to the top

А затем используйте tableView->setItemDelegateForRow(int row, QAbstractItemDelegate * delegate);//make a lineEditDelegate

person Cold Cerberus    schedule 03.02.2016
comment
Да, у меня была такая же идея. Проблема в том, что мне всегда приходится игнорировать эту самую первую строку во всех операциях, таких как сортировка, обновление и т. д. Поэтому все операции с моделью должны принимать индекс строки +1. - person Horst Walter; 03.02.2016
comment
О, хорошо, я вижу. Вы можете сделать lineEdits и флажки по отдельности, а затем привязать их позиционирование (их x привязаны друг к другу, а y привязаны к горизонтальному заголовку tableview). Установите их высоту аналогично ui->tableView->verticalHeader()->height(). Установите их ширину аналогично соответствующим столбцам. Установите высоту row(0)равной verticalHeader()->height() x 2. Затем, наконец, установите для текста/содержимого строки (0) выравнивание по нижнему краю (я не уверен, как вы это называете, но идея у вас есть, лол). - person Cold Cerberus; 03.02.2016