저는 프로그래밍에 익숙하지 않으니 기다려주십시오. Autodesk Maya에서 간단한 스크립트를 만들려고합니다. 두 개의 확인란을 나란히 설정하는 방법을 만들었습니다 (아래 참조).
def checkboxLayout(self, name1, text1, name2, text2, parentLayout, initState):
##create and add horizontal layout
layout = QtGui.QHBoxLayout()
parentLayout.addLayout(layout)
width = 75
name1 = QtGui.QCheckBox(text1)
layout.addWidget(name1)
name1.setMinimumWidth(width)
name1.setMaximumWidth(width)
name1.setChecked(initState)
name2 = QtGui.QCheckBox(text2)
layout.addWidget(name2)
name2.setMinimumWidth(width)
name2.setMaximumWidth(width)
그리고 나중에 동일한 큰 코드 블록을 두 번 작성해야하는 것을 방지하기 위해이 메서드를 두 번 호출했습니다.
def createLayout(self):
##Layout
mainLayout = QtGui.QVBoxLayout()
mainLayout.addWidget(self.title)
mainLayout.addSpacerItem(self.titleSpacer)
mainLayout.addWidget(self.oldLabel)
self.checkboxLayout("selection_CB", "Selection", "name_CB", "Name", mainLayout, True)
mainLayout.addWidget(self.textbox1)
mainLayout.addSpacerItem(self.midSpacer)
mainLayout.addWidget(self.newLabel)
mainLayout.addWidget(self.textbox2)
self.checkboxLayout("delHistory_CB", "Delete\nHistory", "freezeTrans_CB", "Freeze\nTransforms", mainLayout, False)
self.buttonLayout = QtGui.QGridLayout()
mainLayout.addLayout(self.buttonLayout)
self.buttonLayout.addWidget(self.cancelButton, 0, 0)
self.buttonLayout.addWidget(self.okButton, 0, 1)
self.setLayout(mainLayout)
내 문제는 신호를 연결하려고 할 때 작동하지 않는다는 것입니다. 지금까지 본 모든 튜토리얼은 다른 메서드 내에서 메서드를 호출하여 생성되지 않은 위젯에만 신호를 연결했습니다 (아마도 올바른 용어가 아니라는 것을 알고 있지만 제가 말했듯이 저는 이것에 익숙하지 않습니다. ) 아래에 시그널을 연결하기 위해 작성한 코드를 게시하겠습니다. 확인란을 생성 한 방법을 지정해야하는데 그 방법이 작동하지 않는 것 같습니다. 이 신호가 연결 되었나요? 또한 내 용어를 수정 해 주시기 바랍니다. :) 도움을 줄 수있는 사람에게 감사드립니다.
def createConnections(self):
self.selection_CB.toggled.connect(self.checkboxLine1_ChangeState)
변수를 어디에 어떻게 설정하고 self.selection_CB
있습니까?
당신의에서 checkboxLayout
기능 당신은을 포함 할 수 return
있도록처럼 확인란 :
`return [name1, name2]`
그런 다음 함수를 호출 할 때 할당하고 거기에서 이벤트를 연결합니다.
self.check1, self.check2 = self.checkboxLayout("selection_CB", "Selection", "name_CB", "Name", mainLayout, True)
또는 그들이 항상 동일한 기능에 연결되어 있다면 왜 연결을 바로하지 checkboxLayout
않습니까?
name1.stateChanged.connect(self.checkboxLine1_ChangeState)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다