Найти - Пользователи
Полная версия: Как перехватить сигнал нажатия мышкой на строку QTableView
Начало » GUI » Как перехватить сигнал нажатия мышкой на строку QTableView
1
ussr-->
Здравствуйте!
У меня возникла проблема. Извините если это действительно просто, но найти решения этой проблемы мне пока не удалось, вот и решил обратиться сюда .

Суть проблемы в том, что мне нужно перехватить сигнал нажатия мышкой на таблицу QTableView. Так же осуществить доступ к данным этой строки. обычным clicked не удается. Видимо в чем то подвох… Из за этого подвоха и обращаюсь сюда..)
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()
Там уже смотри че тебе надо
ussr-->
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()
Там уже смотри че тебе надо
Да! То что нужно.. Спсибо большое! Я что то в сигналы уперся, а оказалось все гораздо проще..)
ussr-->
Хотя я щас подумал. В данной задачи мне действительно хватит этого. Но вот ,к примеру, если будет необходимо реагировать на щелчок мыши? ну, к примеру, правой кнопкой на запись таблицы и выводилось контекстное меню. В этом случае как перехватить сигнал? Ни один clicked не подходит(хотя возможно я просто туплю)… Или там нужно использовать другие сигналы или возможно нужно описывать их в ручную?

В общем если не тяжело, поясните пожалуйста.
dartNNN
ussr-->
Ни один clicked не подходит
А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить
ussr-->
dartNNN
ussr-->
Ни один clicked не подходит
А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить
Да это как раз то что и нужно мне было.. Просто я перехватить сигнал не мог.. Указывал 'clicked(index)“, оказалось нужно просто указать ”clicked(QModelIndex)".:) В общем спасибо все огромное за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB