crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Клик правой кнопкой мыши
Гость_nazavrik_*
сообщение 27.5.2010, 18:40
Сообщение #1





Гости








    


Добрый день!

А подскажите можно ли стандартными средствами перехватить щелчок по мышке правой кнопкой?

Есть QPushButton* button, для которого пишется слот:

connect(button, SIGNAL(clicked()), this, SLOT(slotButtonClicked()));

- стандартный клик левой кнопкой.

при этом хотелось бы еще кликать правой кнопкой и различать какую кнопку нажали.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.5.2010, 19:41
Сообщение #2


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

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

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




Репутация:   94  


фильтр событий + событие мыши
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_nazavrik_*
сообщение 27.5.2010, 20:56
Сообщение #3





Гости








    


Цитата(Litkevich Yuriy @ 27.5.2010, 19:41) *
фильтр событий + событие мыши


Я попробовал такую конструкцию, но она не сработала:

void Widget::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
break;
case QEvent::MouseButtonPress:
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if (mouseEvent->button() == Qt::RightButton){

}
}
default:
break;
}
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_nazavrik_*
сообщение 27.5.2010, 20:59
Сообщение #4





Гости








    


Очепятался, вот так:

QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(e);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.5.2010, 22:26
Сообщение #5


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

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

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




Репутация:   94  


Цитата(Гость_nazavrik_* @ 28.5.2010, 0:56) *
void Widget::changeEvent(QEvent *e)
а причём здесь changeEvent? Ты документацию по этому обработчику события читал?
Цитата(Гость_nazavrik_* @ 28.5.2010, 0:56) *
событие мыши
mouse***Event
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 22.12.2024, 4:59