2010-03-06 3 views
1

저는 pyqt를 사용하는 Avogadro (화학 소프트웨어) 용 플러그인을 만들고 있습니다. 단추를 클릭 한 신호에 메서드를 연결하는 데 문제가 있습니다. 나는 내 수업을했습니다 : 내가 버튼을 클릭하면 왜 on_run_click은pyqt 신호 문제

class Controller(object): 
    def __init__(self): 
     self.ui = MyDialog() # self.ui.run is a QPushButton 
     self.ui.run.clicked.connect(self.on_run_click) 
    def on_run_click(self): 
     1/0 

class MyDialog(QDialog,Ui_Dialog): # ui designer compiled 
     def __init__(self): 
     QDialog.__init__(self) 
     self.setupUi(self) 

를 호출되지 않습니다?

+0

아마 아보가드로 로딩에 문제가있어, 그것을 "아껴서 작동", 더 조사를해야 ... – pygabriel

답변

1

최근에 뭔가 바뀌지 않는 한, 이것은 PyQt에서 신호를 연결하는 방법처럼 보이지 않습니다. 나는 더 사용 해요 :

self.connect(self.ui.run, QtCore.SIGNAL("clicked()"), 
      self, QtCore.SLOT("on_run_click()")) 
+0

그게 전부 스타일의 pyqt 신호 구문. pygabriel은 새로운 스타일 구문을 사용했습니다. –