使用帶有QToolButton
菜單的菜單顯示在按鈕的正下方。有沒有辦法在按鈕的左側/右側顯示菜單?QToolButton:更改菜單位置
4
A
回答
3
該位置在功能void QToolButtonPrivate::popupTimerDone()
的[Qt安裝目錄] /src/gui/widgets/qtoolbutton.cpp中被硬編碼。除非你從頭開始實現自己的彈出式菜單,否則很難重寫它。
1
我知道這個問題剛纔回答,但我想爲這個問題添加一個新的答案,因爲接受的答案不再有效。在QToolButton上改變菜單位置實際上很簡單。您需要繼承QMenu並覆蓋事件功能。當有節目時,只需改變菜單的位置即可。
下面是使用PySide一個簡單的例子:
from PySide import QtCore, QtGui
class MyMenu(QtGui.QMenu):
def event(self,event):
if event.type() == QtCore.QEvent.Show:
self.move(self.parent().mapToGlobal(QtCore.QPoint(0,0))-QtCore.QPoint(0,self.height()))
return super(MyMenu,self).event(event)
if __name__ == "__main__":
app = QtGui.QApplication([])
w = QtGui.QWidget()
w.setGeometry(100,100,500,500)
tb = QtGui.QToolButton(w)
tb.setText("HELLO")
tb.setGeometry(70,70,40,30)
m = MyMenu("Menu",tb)
m.addAction("Exit")
tb.setMenu(m)
w.show()
app.exec_()
相關問題
- 1. 更改下拉菜單的位置
- 2. 更改子菜單的位置
- 3. dev菜單的電子更改位置
- 4. 更改菜單當前位置
- 5. 如何更改子菜單的位置?
- 6. 更改窗口菜單的位置
- 7. tkinter - 更改菜單欄位置
- 8. 更改下拉菜單的位置
- 9. 在javascript菜單中更改位置
- 10. 如何更改菜單頁面位置
- 11. 更改GWT子菜單彈出位置
- 12. 如何更改菜單項的方向/位置在菜單欄
- 13. Python PyQt隱藏QToolbutton菜單箭頭
- 14. 爲QToolButton菜單使用樣式表
- 15. HTML - 更改表單位置
- 16. 垂直菜單引導程序中的自動更改位置子菜單
- 17. CSS阻止菜單改變位置
- 18. 位置菜單欄
- 19. ASP菜單位置
- 20. 激活下拉菜單時動態更改標題的位置
- 21. 如何更改抽屜菜單圖標的位置
- 22. 如何更改Android中溢出菜單的位置
- 23. Android:動態更改選項菜單的位置
- 24. 更改我的帳戶菜單在magento中的位置
- 25. 更改類onclick文檔上的任何位置關閉菜單?
- 26. 使用wp_nav_menu_items更改wordpress菜單項的位置
- 27. 如何更改support.v7.widget.Toolbar抽屜菜單圖標的位置?
- 28. 更多選項菜單窗口改變其位置
- 29. 更改背景位置和菜單欄半透明
- 30. 更改Outlook Addin上下文菜單的位置