crossplatform.ru

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

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


Участник
**

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

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




Репутация:   0  


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


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

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

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




Репутация:   40  


Тебе я думаю нужно глянуть реализацию QTreeView, обрабатывается ли там Qt::RightButton или может просто забыли или забили. :)
Если так, то тебе придется дописывать данный обработчик.

zss, ты же вроде в MFC был замечен, там же подобное с пол пинка делалось, если помнишь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 9.6.2009, 13:16
Сообщение #3


Участник
**

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

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




Репутация:   0  


Цитата(zss @ 9.6.2009, 13:31) *
zss, ты же вроде в MFC был замечен, там же подобное с пол пинка делалось, если помниш

никогда под mfc не писал :)

Цитата(zss @ 9.6.2009, 13:31) *
Тебе я думаю нужно глянуть реализацию QTreeView, обрабатывается ли там Qt::RightButton или может просто забыли или забили.


но там и LeftButton не обрабатывается. Думаю обработка где-то выше
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.6.2009, 13:35
Сообщение #4


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

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

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




Репутация:   40  


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

Цитата(zss @ 9.6.2009, 14:16) *
но там и LeftButton не обрабатывается. Думаю обработка где-то выше
Все правильно, обработка и отсылка происходит CE, а вот дальнейшая обработка, как я понимаю, предоставлена целиком виджету, в данном случае QTreeView. Тебе нужно переопределить void QAbstractItemView::mousePressEvent ( QMouseEvent * event ) [virtual protected]
Что то вроде:
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);
}
Код на работоспособность не проверял, но идея думаю должна быть понятна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 9.6.2009, 13:39
Сообщение #5


Участник
**

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

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




Репутация:   0  


Цитата(zss @ 9.6.2009, 14:16) *
Все правильно, обработка и отсылка происходит CE, а вот дальнейшая обработка, как я понимаю, предоставлена целиком виджету, в данном случае QTreeView. Тебе нужно переопределить void QAbstractItemView::mousePressEvent ( QMouseEvent * event ) [virtual protected]

тоесть ты хочешь скачать что для mousePressEvent приходит Qt::RightButton ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.6.2009, 13:46
Сообщение #6


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

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

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




Репутация:   40  


Угу, если я ничего не путаю конечно же. :)
Я для CE на Qt не писал, но писал на MFC и делал что-то вроде этого...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 9.6.2009, 16:02
Сообщение #7


Участник
**

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

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




Репутация:   0  


Цитата(zss @ 9.6.2009, 14:39) *
Угу, если я ничего не путаю конечно же. :)
Я для CE на Qt не писал, но писал на MFC и делал что-то вроде этого...

нифига - для mousePressEvent не приходит Qt::RightButton
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 12.6.2009, 10:20
Сообщение #8


Участник
**

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

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




Репутация:   0  


что же делать-то. никак не получается получить Qt::RightButton

Завел даже свой таймер, что если держу стилус более 1 сек, то выводить меню.
Но это как-то криво, да и при том нет кружочка, который показывает что идет задержка стилуса (то есть нажатие правой кнопки)

З.Ы. Кстати - может кто знает как выводить системные часы при каких-либо действиях, чтоб пользователь не нервничал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.6.2009, 11:04
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(zss @ 12.6.2009, 14:20) *
как выводить системные часы при каких-либо действиях, чтоб пользователь не нервничал
не понял
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 12.6.2009, 14:41
Сообщение #10


Участник
**

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

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




Репутация:   0  


Цитата(zss @ 12.6.2009, 11:20) *
не понял

ну когда запускаешь любое win-приложение показываются песочные часы для win32 и значек винды для wince.
Чтоб не показывать QSplashScreen на момент загрузки (он продолжительный) хочется вывести значок винды.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 7.11.2024, 3:10