Форум сайта python.su
Здравствуйте!
У меня возникла проблема. Извините если это действительно просто, но найти решения этой проблемы мне пока не удалось, вот и решил обратиться сюда .
Суть проблемы в том, что мне нужно перехватить сигнал нажатия мышкой на таблицу QTableView. Так же осуществить доступ к данным этой строки. обычным clicked не удается. Видимо в чем то подвох… Из за этого подвоха и обращаюсь сюда..)
Офлайн
ussr-->Вот тебе пример как удалить определенную строку, думаю смысл понятен:
Здравствуйте!
У меня возникла проблема. Извините если это действительно просто, но найти решения этой проблемы мне пока не удалось, вот и решил обратиться сюда .
Суть проблемы в том, что мне нужно перехватить сигнал нажатия мышкой на таблицу QTableView. Так же осуществить доступ к данным этой строки. обычным clicked не удается. Видимо в чем то подвох… Из за этого подвоха и обращаюсь сюда..)
def delete_zapis(self):
row=self.my_form.my_table.currentIndex().row()
index=self.my_form.my_table.model().index(row,0)
id=self.my_form.my_table.model().data(index)
if self.my_form.my_table.currentIndex().row()>=0:
query=QtSql.QSqlQuery()
query.exec("DELETE FROM zapchasty WHERE id=:id")
query.bindValue(":id",id)
query.exec_()
self.refresh_table_zapchasty()
Отредактировано (Май 23, 2010 21:15:19)
Офлайн
apologize828Да! То что нужно.. Спсибо большое! Я что то в сигналы уперся, а оказалось все гораздо проще..)ussr-->Вот тебе пример как удалить определенную строку, думаю смысл понятен:
Здравствуйте!
У меня возникла проблема. Извините если это действительно просто, но найти решения этой проблемы мне пока не удалось, вот и решил обратиться сюда .
Суть проблемы в том, что мне нужно перехватить сигнал нажатия мышкой на таблицу QTableView. Так же осуществить доступ к данным этой строки. обычным clicked не удается. Видимо в чем то подвох… Из за этого подвоха и обращаюсь сюда..)Там уже смотри че тебе надоdef delete_zapis(self):
row=self.my_form.my_table.currentIndex().row()
index=self.my_form.my_table.model().index(row,0)
id=self.my_form.my_table.model().data(index)
if self.my_form.my_table.currentIndex().row()>=0:
query=QtSql.QSqlQuery()
query.exec("DELETE FROM zapchasty WHERE id=:id")
query.bindValue(":id",id)
query.exec_()
self.refresh_table_zapchasty()
Офлайн
Хотя я щас подумал. В данной задачи мне действительно хватит этого. Но вот ,к примеру, если будет необходимо реагировать на щелчок мыши? ну, к примеру, правой кнопкой на запись таблицы и выводилось контекстное меню. В этом случае как перехватить сигнал? Ни один clicked не подходит(хотя возможно я просто туплю)… Или там нужно использовать другие сигналы или возможно нужно описывать их в ручную?
В общем если не тяжело, поясните пожалуйста.
Офлайн
ussr-->А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить
Ни один clicked не подходит
Офлайн
dartNNNДа это как раз то что и нужно мне было.. Просто я перехватить сигнал не мог.. Указывал 'clicked(index)“, оказалось нужно просто указать ”clicked(QModelIndex)".:) В общем спасибо все огромное за помощь!ussr-->А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить
Ни один clicked не подходит
Офлайн