Salve a tutti, Sono da poco passato a PyQt e ho un problema con i signal. Ho una QMainWindow che richiama un QDialog su cui è presente un QtableWidget. Il tableWidget ha un signal, vedi sotto, che stampa riga e colonna dell'item cliccato.
Siccome il QDialog e il QMainWindow sono in due file separati, aggiungendo il codice sotto al file del QDialog non ho problemi e funziona tutto a dovere. File: TFT_Output_GUI.py (...) QtCore.QObject.connect(self.tableWidget, QtCore.SIGNAL(_fromUtf8("cellPressed(int,int)")), self.test) QtCore.QMetaObject.connectSlotsByName(Dialog) def test(self,row,column): print row,column (...) if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) Dialog = QtGui.QDialog() ui = Ui_Dialog() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_()) Quando invece lo vado a richiamare dal QMainWindow non viene mai triggerato l'evento cellPressed e non entra nella funzione test. A seguire il codice differente: File: MyApp.py class ResultDialog(): def __init__(self,parent=None): self.Dialog = QtGui.QDialog(parent.MainWindow) self.ui = TFT_Output_Gui.Ui_Dialog() self.ui.setupUi(self.Dialog) QtCore.QObject.connect(self.ui.tableWidget, QtCore.SIGNAL(TFT_Output_Gui._fromUtf8("cellPressed(int,int)")), self.test) QtCore.QMetaObject.connectSlotsByName(self.Dialog) self.Dialog.show() def test(self,row,column): print row,column Qualche idea del perchè succeda? -- ____________________________ Giuseppe Amato e-mail: giuam...@gmail.com
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python