0

qMenu にリストされた選択を取得しようとしていますが、qMenu からのユーザーの選択に基づいて、選択を qLineEditcamSelBtnに表示します -currentCamTxt

ただし、メニューを機能させることはできますが、選択が機能しません。

def camMenu(self):
    allCams = cmds.ls(type='camera', visible = 1)
    camLs = cmds.listRelatives(allCams, p=1)
    menu = QMenu("menu", self.camSelBtn)
    for n in camLs:
        menu.addAction(QAction(n, menu))
    self.camSelBtn.setMenu(menu)

def createConnections(self):
    self.connect(self.setCameraBtn, SIGNAL('clicked()'), self.setCamera)

def setCamera(self):
    for sel in self.camMenu.menu():
        self.currentCamTxt.setText()
4

2 に答える 2

0

新しいスタイルの信号スロットは非常に使いやすくなっています。

def camMenu(self):
    menu = QMenu()
    # menu.hovered.connect(lambda name="MainMenu": self.setCamera(name))
    for n in camLs:
        action = QAction(QIcon(), n, None)
        action.hovered.connect(lambda name=n: self.setCamera(name))
        # action.triggered.connect(lambda name=n: self.setCamera(name))

def setCamera(self, name):
    self.currentCamTxt.setText(name)

... テキスト値を設定するだけの場合は、setCamera メソッドは必要ありません。

action.hovered.connect(lambda name=n: self.currentCamTxt.setText(name))
于 2014-09-30T12:07:19.053 に答える