0

いくつかの QPushButton と QLineEdit で構成される UI があり、現在、QPushButton にアタッチされたこの QMenu 内のコンテンツを「更新」するのに問題があります。したがって、シーンに既に 2 台のカメラがあり、UI を実行すると、この setCameraBtn を押すと、リストに 2 台のカメラが表示されます。ただし、UI がまだ閉じていない新しいカメラを作成する場合、「ライブ更新」のように QMenu を新しいカメラで読み込むにはどうすればよいですか?

シーン内のカメラを再読み取りし、camL を再集計する別の関数と、createConnections に記述したものと同様の接続を作成しようとしましたが、読み取っていないようです。

camLs = []

class orientCameraUI(QDialog):
    def __init__(self, parent=None):
        ...
        ...

    def initUI(self):
        ...
        ...

    def createConnections(self):
        self.connect(self.orientToCamBtn, SIGNAL('clicked()'), self.orientToCam)

    def camMenu(self):

        allCams = [cam for cam in cmds.listRelatives(cmds.ls(cameras=1),parent=1) if cam not in ['front','persp','side','top']]
        camLs.extend(allCams)

        menu = QMenu("menu", self.setCameraBtn)

        for item in camLs:
            menu.addAction(QAction(item, menu))
        self.setCameraBtn.setMenu(menu)

        menu.triggered.connect(self._camSelected)

    def _camSelected(self, action):
        self.currentCamTxt.setText(action.text())
4

1 に答える 1