[Python] Pyqt QtableWidget itemPressed(int,int)
Giuseppe Amato
giuamato a gmail.com
Lun 17 Mar 2014 16:39:11 CET
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: giuamato a gmail.com
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140317/49c2479d/attachment.html>
Maggiori informazioni sulla lista
Python