Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не получается никак правильно показать контекстное меню
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
wdefik
создаю тулбар, устанавливаю вниз окна
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
Может так?
contMenu->popup(fileToolBar->mapToGlobal(position));

На край, можно еще попробовать использовать QCursor::pos()
wdefik
Цитата(MoPDoBoPoT @ 13.3.2010, 21:48) *
Может так?
contMenu->popup(fileToolBar->mapToGlobal(position));

На край, можно еще попробовать использовать QCursor::pos()


Спасибо, помогло! :)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.