创建右键菜单pyQT Maya

问题描述 投票:0回答:1

我目前正在学习/将我的Maya.cmds GUI转换为PYQT。我在学习如何创建“弹出菜单”时遇到了一些问题

Maya在QPushButton上弹出菜单示例

这在Maya.cmds中对我来说是第二天性,但是自从转到Qt后我发现任何有关此信息的问题。我想在这个“弹出菜单”中添加复选框,径向选择和QLineEdit

python pyqt maya pyside2
1个回答
0
投票

这是我放在一起的工作版本,我们使用自定义上下文菜单来显示我们的Qmenu以及所有菜单项。

class MainWindow(QtWidgets.QDialog):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setWindowTitle("MainWindow")

    #   C R E A T E   L A Y O U T
        mainLayout = QtWidgets.QVBoxLayout()
        self.setLayout(mainLayout)

    #   C R E A T E   B U T T O N
        self.btn = QtWidgets.QPushButton('Right Click Me!')
        mainLayout.addWidget(self.btn)

    #   C O N N E C T   P O P U P   M E N U   T O   O U R   B U T T O N
        self.btn.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.btn.customContextMenuRequested.connect(self.showPopup)

    #   M E N U   I T E M S
        self.popupMenu = QtWidgets.QMenu()
        self.PBSaveFileCB = self.popupMenu.addAction("Click")


    #   S H O W   P O P U P   M E N U
    def showPopup(self,position):
         self.popupMenu.exec_(self.btn.mapToGlobal(position))

def showUI():
    ui = MainWindow()
    ui.show()
    return ui

ui = showUI()
© www.soinside.com 2019 - 2024. All rights reserved.