Не получается никак правильно показать контекстное меню |
Здравствуйте, гость ( Вход | Регистрация )
Не получается никак правильно показать контекстное меню |
wdefik |
13.3.2010, 21:10
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
создаю тулбар, устанавливаю вниз окна
fileToolBar = new QToolBar(tr("&File")); fileToolBar->addAction(openAction); fileToolBar->addAction(fullScAction); fileToolBar->addAction(quitAction); fileToolBar->setMovable(false); addToolBar(Qt::BottomToolBarArea,fileToolBar); устанавливаю кастом контекст fileToolBar->setContextMenuPolicy(Qt::CustomContextMenu); соединяю сигнал запроса контекстного меню с функцией показа этого меню connect(fileToolBar,SIGNAL(customContextMenuRequested(const QPoint&)) ,this,SLOT(showContextMenu(const QPoint&))); создаю меню и собираюсь показать хотя бы примерно там где произошел вызов контекстного меню void SvMainWIndow::showContextMenu(const QPoint& position) { contMenu = new QMenu(this); contMenu->addAction(quitAction); contMenu->addAction(openAction); contMenu->addAction(fullScAction); contMenu->popup(mapToGlobal(position)); } в итоге контекстное меню выходит почти там, где должно было бы быть, если тулбар был наверху. более-менее правильно кон. меню выходит, когда тулбар на ходится либо слева, либо сверху. что я делаю не так ? |
|
|
MoPDoBoPoT |
13.3.2010, 21:48
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Может так?
contMenu->popup(fileToolBar->mapToGlobal(position)); На край, можно еще попробовать использовать QCursor::pos() |
|
|
wdefik |
13.3.2010, 22:06
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 29.3.2024, 8:33 |