Здравствуйте, гость ( Вход | Регистрация )
wdefik | Дата 13.3.2010, 22:06 |
Может так? 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)); } в итоге контекстное меню выходит почти там, где должно было бы быть, если тулбар был наверху. более-менее правильно кон. меню выходит, когда тулбар на ходится либо слева, либо сверху. что я делаю не так ? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 24.4.2024, 22:43 |