2010-03-06 8 views
1

Я работаю над плагином для Avogadro (программное обеспечение химии), использующим pyqt. У меня возникла проблема с подключением метода к нажатому сигналу кнопки. Я мой класс:Проблема с сигналом 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) 

Почему, когда я нажимаю на кнопку on_run_click не вызывается?

+0

Может быть, это проблема с Авогадро загрузками, его «экономно работает», я должен продолжить исследования ... – pygabriel

ответ

1

Если они ничего не изменили недавно, это не похоже на способ подключения сигналов в PyQt. Я больше привык:

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

Это синтаксис синтаксиса старого стиля pyqt. pygabriel использовал новый синтаксис стиля. –

Смежные вопросы