簡體   English   中英

PyQt5-如何在工具欄中添加動作菜單?

[英]PyQt5 - How to add actions menu in a toolbar?

我想從工具欄中的項目添加菜單。 例如,從以下代碼中:

import sys
from PyQt5.QtWidgets import QAction, QMainWindow, QApplication


class Menu(QMainWindow):

    def __init__(self):
        super().__init__()
        colors = QAction('Colors', self)
        exitAct = QAction('Exit', self)

        self.statusBar()
        toolbar = self.addToolBar('Exit')
        toolbar.addAction(colors)
        toolbar.addAction(exitAct)
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    menu = Menu()
    sys.exit(app.exec_())

我得到:

在此處輸入圖片說明

我想按“顏色”並獲取選項列表(例如Qmenu ,但用於工具欄)。 我該如何實現?

如果您希望將添加QMenuQToolBar項目必須添加支持它,例如一個widget QPushButton

import sys
from PyQt5 import QtWidgets


class Menu(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        colorButton = QtWidgets.QPushButton("Colors")
        exitAct = QtWidgets.QAction('Exit', self)

        toolbar = self.addToolBar("Exit")

        toolbar.addWidget(colorButton)
        toolbar.addAction(exitAct)

        menu = QtWidgets.QMenu()
        menu.addAction("red")
        menu.addAction("green")
        menu.addAction("blue")
        colorButton.setMenu(menu)

        menu.triggered.connect(lambda action: print(action.text()))


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    menu = Menu()
    menu.show()
    sys.exit(app.exec_())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM