crossplatform.ru

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


  Ответ в Не получается никак правильно показать контекстное меню
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
wdefik Дата 13.3.2010, 22:06
 
Цитата(MoPDoBoPoT @ 13.3.2010, 21:48) *
Может так?
contMenu->popup(fileToolBar->mapToGlobal(position));

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


Спасибо, помогло! :)
MoPDoBoPoT Дата 13.3.2010, 21:48
  Может так?
contMenu->popup(fileToolBar->mapToGlobal(position));

На край, можно еще попробовать использовать QCursor::pos()
wdefik Дата 13.3.2010, 21:10
  создаю тулбар, устанавливаю вниз окна
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));

}

в итоге контекстное меню выходит почти там, где должно было бы быть, если тулбар был наверху.
более-менее правильно кон. меню выходит, когда тулбар на ходится либо слева, либо сверху.
что я делаю не так ? :)
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.10.2019, 2:26