Форум сайта python.su
По нажатию на кнопку необходимо удалить строку в таблице БД и визуально в виджете. Как это лучше всего сделать? Перепробовала все возможные варианты по удалению, но так поняла, что проблема в отсутствии индекса строки.Получить его не получается. Нашла пример со слотом, но у меня не работает:
self.connect(butok2, QtCore.SIGNAL('clicked(QModelIndex)'), self.delrowtab) # функция вообще не стартует
self.connect(butok2, QtCore.SIGNAL('clicked(QtCore.QModelIndex)'), self.delrowtab) # Ругается: TypeError: C++ type 'QtCore.QModelIndex' is not supported as a slot argument type
Офлайн
Нет разницы в версиях. И опять ничего не понятно.
Что это за кнопка butok2, которая имеет событие clicked(QModelIndex*) ?
Почему индекс нельзя взять стандартными методами QTableView - текущую строку, список выделенных и так далее?
Офлайн
Спасибо за подсказку, все получилось. Сразу не смогла сообразить как использовать selectedIndexes() и currentIndex().
Офлайн
Использовать .selectedIndexes() не совсем правильно. По крайней мере в С++ это protected member.
По идее нужно вызывать .selectionModel(), а потом уже спрашивать у QItemSelectionModel всё что нужно.
Офлайн
И как у этой заразы спрашивать-то??? Пол-интернета облазил, чтоб он прокис!
Офлайн
Ну и ладно! Сам разобрался.
Офлайн