我有一个UI,它由几个QPushButton和一个QLineEdit组成,目前我无法'更新'附加到QPushButton上的这个QMenu中的内容。假设,如果在我的场景中已经有2个摄像头,并且在执行我的UI时,通过按下这个setCameraBtn,我将获得列表中的2个摄像头。但是,如果我在UI尚未关闭的情况下创建新相机,那么如何让我的QMenu在新相机中读取,如“实时更新”?更新QMenu'live'中的内容
我试图创建另一个函数,其中重新读取场景摄像机和retabulate类似于我已经写在createConnections的一个camLs以及一个连接,但它似乎并不在被读取。
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())
尝试使它''self.menu = QMenu(“menu”,self.setCameraBtn)'而不是'menu = Q ....'。 – 2014-10-07 09:38:16
请原谅我,但是在“自我”中加入你提到的会产生任何分歧的线路? – dissidia 2014-10-07 09:52:59
顺便说一句,我有点能够通过在'createConnections'中添加self.connect(self.setCameraBtn,SIGNAL(“pressed()”),self.camMenu)来实现我的菜单,将需要按两次按钮才能获得最新消息,但这种'lagginess'让我发疯,尽管 – dissidia 2014-10-07 09:55:47