crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

zss
  опции профиля:
сообщение 9.6.2009, 12:31
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


подскажите, почему при задержке стилуса на QTreeView мне приходит лишь Qt::LeftButton, но не приходит Qt::RightButton ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 9.6.2009, 13:35
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(zss @ 9.6.2009, 14:16) Link
никогда под mfc не писал :)
я тебя помнится на сырцах видел не единожды в MFC'ном разделе. Ну ладно, проехали.

Цитата(zss @ 9.6.2009, 14:16) Link
но там и LeftButton не обрабатывается. Думаю обработка где-то выше
Все правильно, обработка и отсылка происходит CE, а вот дальнейшая обработка, как я понимаю, предоставлена целиком виджету, в данном случае QTreeView. Тебе нужно переопределить Link
Что то вроде:
void MyTreeView::mousePressEvent(QMouseEvent* e)
{
  if ((e->button() == Qt::RightButton) && (e->modifiers() == Qt::NoButton))
    {
      QMenu menu( this );
      menu.addAction("Insert");
      menu.addAction("Edit");
      menu.addAction("Delete");

      QAction* action = menu.exec(e->globalPos());
   }
   else
      MyTreeView::mousePressEvent(e);
}
Код на работоспособность не проверял, но идея думаю должна быть понятна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 26.8.2025, 3:04