我想在Qt 5.6中重新實現QScrollbar
的contextmenuevent方法,但功能變化很小。如果我獲得指向QScrollBar
上下文菜單的指針,就可以完成此操作。但是,似乎沒有辦法獲得原始QScrollbar
上下文菜單。另一個選項可以是創建一個QMenu
並在新菜單中添加與每個項目關聯的操作。例如,如果我知道在原始上下文菜單中單擊「滾動到此處」時調用的方法,則可以添加「滾動到此處」項目,並附加與滾動條上下文菜單關聯的操作。有沒有辦法獲得這些行動?有沒有辦法獲得指向QScrollBar上下文菜單的指針?
1
A
回答
-1
使用triggerAction和setValue爲您的新的上下文菜單。
0
每次出現上下文菜單事件時都會生成菜單。 source code將告訴你如何構建一個相同的菜單。這是相當短,很簡單:
QPointer<QMenu> menu = new QMenu(this);
QAction *actScrollHere = menu->addAction(tr("Scroll here"));
...
QAction *actionSelected = menu->exec(event->globalPos());
delete menu;
if (actionSelected == 0)
/* do nothing */ ;
else if (actionSelected == actScrollHere)
setValue(d_func()->pixelPosToRangeValue(horiz ? event->pos().x() : event->pos().y()));
...
0
你可以使用CustomContextMenuPolicy:
QScrollBar *scroll = new QScrollBar;
scroll->setContextMenuPolicy(Qt::CustomContextMenu);
connect(scroll, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(populateContextMenu(QPoint)));
並在插槽populateContextMenu():
QMenu* menu = new QMenu;
// Add actions
QAction* example = menu->addAction("Example");
// Connect the action clicked with the slot
connect(example, SIGNAL(triggered(bool)),.....);
// Finally, show the context menu, map to global to show the correct position
const QPoint pos = ui->listView->mapToGlobal(point);
menu->popup(pos);
相關問題
- 1. 上下文菜單下方的指針
- 2. 在使用boost的多線程C++程序中,有沒有辦法獲得指向當前線程的指針?
- 3. 有沒有辦法打印字符串指針指向C中的數組?
- 4. 有沒有什麼辦法可以使指針指向一個引用?
- 5. 有沒有辦法獲得在處理信號期間訪問的指針?
- 6. 有沒有指向什麼的文件指針(FILE *)?
- 7. 指針指向自己沒有typecast?
- 8. 當使用SDL_SetVideoMode時,有沒有辦法獲得內部SDL_Window指針或ID?
- 9. 有沒有辦法「指南針編譯」到指定的文件路徑?
- 10. 如何獲得該指針指針指向的值的地址
- 11. 指向指針的指針在調用函數時獲得EXC_BAD_ACCESS
- 12. 有沒有辦法避免數組到指針的衰減?
- 13. 有沒有辦法減少鼠標指針後面的指引滯後?
- 14. 的Java Swing - 鼠標指針「轉移」上下文菜單上
- 15. 是否有可能有一個指針指向第一個指針所指向的變量的指針?
- 16. 有沒有辦法使用960和sproutcore指南針?
- 17. 有沒有辦法將ObjectiveC塊封裝到函數指針中?
- 18. 有沒有辦法來防止分配指針?
- 19. 有沒有辦法讓指針數組切片?
- 20. 有沒有辦法自動地綁定空指針?
- 21. 有沒有辦法在preg_match_all()中移動/重置搜索指針?
- 22. 有沒有辦法通過int指針一次打印整數?
- 23. 有沒有辦法找到鼠標指針半徑?
- 24. 有沒有辦法在LLVM中維護多個堆棧/指令指針?
- 25. 有沒有辦法'擴展'#define指令?
- 26. 有沒有辦法指定範圍?
- 27. Flex - 有沒有辦法指定ComboBox打開的方向?
- 28. 有沒有辦法使用Appcelerator Titanium修改iOS webView中的上下文菜單?
- 29. 有沒有辦法超過上下文菜單的16個入口限制?
- 30. 有沒有辦法在wp7/silverlight中的上下文菜單旁勾選勾號?
這不回答這個問題。 –