crossplatform.ru

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

> Определение источника сигнала
borune
  опции профиля:
сообщение 5.1.2011, 20:28
Сообщение #1


Участник
**

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

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




Репутация:   0  


Друзья, я еще не очень освоил кутэ, поэтому вынужден все время обращаться к вам. Вот и сейчас обращаюсь снова.

Мне надо реализовать следующее. Есть созданное мной окно QDialog'а. При работе у пользователя есть возможность добавлять элементы в это окно нажатием кнопок (конкретно добавляемыми элементами являются наследники класса QLabel, ну вообщем будем считать, что объекты QLabel).

Для работы с созданными объектами у меня есть список указателей на них.

Что требуется сделать. Требуется добавить к каждому такому элементу контекстное меню по правому клику мышью. А в этом меню надо реализовать некоторые стандартные действия (редактировать, удалить и т.д.). Меню добавить несложно, но вопрос у меня вот в чем. Насколько я понимаю, схема работы меню такова: выбор пункта (который задается объектом класса QAction) в контекстном меню эмитирует какой-то сигнал, объявленный в классе QAction и его родителях. Для перехвата этого сигнала требуется подключить требуемый сигнал соответствующего объекта к слоту-обработчику. Но, опять же, насколько я понимаю, механизм сигналов не позволяет определить источник сигнала. А мне нужно знать, на какой именно из объектов нажал пользователь, потому что работа (редактирование, удаление и т.д.) должна происходить только с тем объектом, на который нажал пользователь.

В идеале я бы хотел как-нибудь сделать так, чтобы при выборе пункта меню в слот приходил указатель на объект, по которому кликнул пользователь. Но как это сделать я никак не додумаюсь. Неужели иного способа, кроме как ловить координаты мыши в момент клика, и потом находить объект, который располагается по этим координатам, нельзя придумать?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 19.4.2024, 22:55