Название: Как определить правый клик по кнопке? Отправлено: neosapient от Май 15, 2009, 11:38 Здравствуйте.
Появилась задача копировать кусок надписи кнопки в буфер обмена, когда кнопке отсылается right click. Как можно поймать/отследить этот правый клик. Название: Re: Как определить правый клик по кнопке? Отправлено: spirit от Май 15, 2009, 11:42 это нужно , что бы отобразить контектсное меню?
Название: Re: Как определить правый клик по кнопке? Отправлено: neosapient от Май 15, 2009, 12:20 Нет
надо просто копировать текст при правом клике. Название: Re: Как определить правый клик по кнопке? Отправлено: spirit от Май 15, 2009, 12:25 ну один из вариантов -- это установить ивент фильтр на виджет,
из которого что-то будет копироваться, и отлавливать правый клик. Название: Re: Как определить правый клик по кнопке? Отправлено: Rcus от Май 15, 2009, 12:26 Цитировать contextMenuPolicy : Qt::ContextMenuPolicy This property holds how the widget shows a context menu. The default value of this property is Qt::DefaultContextMenu, which means the contextMenuEvent() handler is called. Other values are Qt::NoContextMenu, Qt::PreventContextMenu, Qt::ActionsContextMenu, and Qt::CustomContextMenu. With Qt::CustomContextMenu, the signal customContextMenuRequested() is emitted. Не то? Название: Re: Как определить правый клик по кнопке? Отправлено: neosapient от Май 15, 2009, 13:36 В общем сделал наследника от QPushButton и стал обрабатывать mousePressEvent
Код: void QxPushButton::mousePressEvent(QMouseEvent * e){ Название: Re: Как определить правый клик по кнопке? Отправлено: Пантер от Май 15, 2009, 16:51 Можно и без наследника, через installEventFilter.
Название: Re: Как определить правый клик по кнопке? Отправлено: MoPDoBoPoT от Май 15, 2009, 18:49 По-моему самое разумное решение в данной ситуации будет либо ловить стгнал customContextMenuRequested ( const QPoint & pos ), либо установить фильтр installEventFilter ( QObject * filterObj )
Наследование здесь самый длинный путь. |