Здравствуйте, гость ( Вход | Регистрация )
|
fancer.lancer |
24.5.2010, 21:42
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 23.3.2010 Пользователь №: 1555 Спасибо сказали: 0 раз(а) Репутация: 0
|
Здравствуйте форумчане, при написании Гуя на QT4 столкнулся с проблемой. Мне необходимо передать в обработчик одного из пункова контекстного меню координаты, которые соответствуют точке, откуда это меню было вызвано. Есть ли какой-либо метод (функция) или какой-либо способ сделать это без особенных извратов, таких как хранить где-нибудь коориднаты нажатия из QContextMenuEvent?
Просмотрел уже весь assistant, прочитал много примеров, но так ничего похожего не нашел. |
|
|
|
![]() |
|
fancer.lancer |
28.5.2010, 14:17
Сообщение
#2
|
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 23.3.2010 Пользователь №: 1555 Спасибо сказали: 0 раз(а) Репутация: 0
|
Извиняюсь за небольшую задержку)) Всем спасибо, за помощь))
Вообщем предложенный мной способ в итоге вообще не годиться((( если изначально QMenu был создан статически, то мы получаем указатель на нусуществующий элемент, если же динамически, то у меня почему-то опять же приложение падало при обращении к методам полученного указателя на QMenu, так и не выяснил почему((( Есть другой вариант: если мы выделили динамически память для объекта QMenu, то всегда можем узнать его координаты, если знаем указатель на этот объект. Тогда я решил просто создать дополнительное поле класса с этим QMenu. Теперь странность: при вызове контекстного меню мы получаем координаты относительно левого верхнего угла родительского виджета (то есть виджета, на котором это меню вызвано) как и нужно, а если пытаюсь посмотреть координаты самого меню, то они получаются относительно левого верхнего угла монитора. Вообщем остается одно - считать координаты вручную((((( |
|
|
|
fancer.lancer [QT4] Создание контекстного меню. 24.5.2010, 21:42
fancer.lancer Можно в обработчике (слоте) получить указатель на ... 25.5.2010, 7:31
Kagami Можно просто посмотреть координаты мыши в обработч... 25.5.2010, 7:41
MoPDoBoPoT Цитата(Kagami @ 25.5.2010, 8:41) Можно пр... 25.5.2010, 12:38
MoPDoBoPoT Ну раз ты все-таки захотел делать через пень-колод... 28.5.2010, 16:47
fancer.lancer ЦитатаНу раз ты все-таки захотел делать через пень... 30.5.2010, 12:15
MoPDoBoPoT Как вариант, можно воспользоваться динамическими с... 30.5.2010, 16:13
fancer.lancer Спасибо, MoPDoBoPoT, за помощь и за интересные реш... 3.6.2010, 23:34![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 2:56 |