Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Как перехватить сигнал нажатия мышкой на строку QTableView [RSS Feed]

#1 Май 23, 2010 20:14:23

ussr-->
От:
Зарегистрирован: 2010-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

Здравствуйте!
У меня возникла проблема. Извините если это действительно просто, но найти решения этой проблемы мне пока не удалось, вот и решил обратиться сюда .

Суть проблемы в том, что мне нужно перехватить сигнал нажатия мышкой на таблицу QTableView. Так же осуществить доступ к данным этой строки. обычным clicked не удается. Видимо в чем то подвох… Из за этого подвоха и обращаюсь сюда..)



Офлайн

#2 Май 23, 2010 21:14:31

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

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)

Офлайн

#3 Май 23, 2010 22:05:20

ussr-->
От:
Зарегистрирован: 2010-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

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()
Там уже смотри че тебе надо
Да! То что нужно.. Спсибо большое! Я что то в сигналы уперся, а оказалось все гораздо проще..)



Офлайн

#4 Май 23, 2010 22:49:50

ussr-->
От:
Зарегистрирован: 2010-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

Хотя я щас подумал. В данной задачи мне действительно хватит этого. Но вот ,к примеру, если будет необходимо реагировать на щелчок мыши? ну, к примеру, правой кнопкой на запись таблицы и выводилось контекстное меню. В этом случае как перехватить сигнал? Ни один clicked не подходит(хотя возможно я просто туплю)… Или там нужно использовать другие сигналы или возможно нужно описывать их в ручную?

В общем если не тяжело, поясните пожалуйста.



Офлайн

#5 Май 24, 2010 12:25:04

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

ussr-->
Ни один clicked не подходит
А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить



Офлайн

#6 Май 31, 2010 02:17:21

ussr-->
От:
Зарегистрирован: 2010-05-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перехватить сигнал нажатия мышкой на строку QTableView

dartNNN
ussr-->
Ни один clicked не подходит
А чем он вам не подходит? Там же передается как параметр QModelIndex, вот с ним можно много чего сотворить
Да это как раз то что и нужно мне было.. Просто я перехватить сигнал не мог.. Указывал 'clicked(index)“, оказалось нужно просто указать ”clicked(QModelIndex)".:) В общем спасибо все огромное за помощь!



Офлайн

  • Начало
  • » GUI
  • » Как перехватить сигнал нажатия мышкой на строку QTableView[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version