2016-11-10 2 views

답변

2

clicked 신호 (docs 참조)는 pushButton_7_clicked 콜백 속성 전달 (BOOL = false 선택)

버튼이 활성화 될 때이 신호가 방출된다

공극 QAbstractButton :: 눌렀을를 (즉 을 누른 상태에서 마우스 커서가 버튼 안에있는 동안 해제 된 경우), 단축키를 입력하거나 click() 또는 animateClick()을 호출 한 경우입니다. 특히 setDown(), setChecked() 또는 toggle()을 호출하면이 신호가 방출되지 않습니다.

버튼이 선택 가능한 경우 버튼이 선택되어 있으면 , 선택하지 않으면 false가 선택됩니다.

따라서 콜백을 정의하면 첫 번째 인수는 checked 부울입니다.

콜백 정의에서 doc으로 전화를 걸어도 아무런 차이가 없습니다. doc 인스턴스를 전달하지 않을 것입니다. 여기서 얻은 것은 checked 부울이며 항상 False입니다.

그건 순수한 파이썬 문제입니다.

a = 12 
def b(a): 
    print(a) 
b(69) 

이 당신은 함수의 범위에서 a (귀하의 경우 doc)를 재정의하고 있지 12, 69 인쇄합니다.

게다가, 작성 중 이해가되지 않습니다 :

doc = self.lineEdit_2.text() 

을이 수입시 한 번만 실행한다.

다음과 같이 시도해 볼 수 있습니다. 오브젝트에 콜백이 있어야 바인딩되어 있으므로 self에 자신에 대한 참조가 있습니다.

class YourObject(): 

    def pushButton_7_clicked(self, checked): 
     print(self.lineEdit_2.text()) 

    self.pushButton_7.clicked.connect(self.pushButton_7_clicked) 
+0

이제 작동합니다. 감사합니다. – azertq