Slot QT ottenere Segnalato due volte
-
22-09-2019 - |
Domanda
In Qt4.5,
Io uso un QTableWidget, e ho collegato il segnale di QTableWidget :: itemClicked () per uno slot personalizzato come questo:
connect(_table, SIGNAL(itemClicked(QTableWidgetItem*)), item, SLOT(sloItemClicked(QTableWidgetItem*)));
a creare una connessione per ogni fila aggiungo alla tabella.
Il problema è che lo slot sloItemClicked ottenere chiamato più di una volta, sembra che di venire chiamato ora X, dove X è il numero di riga in mio tavolo.
Ma si chiede la stessa riga per tutto il tempo. (QTableWidgetItem che ricevo è lo stesso).
Questo è un problema, perché quando la riga viene cliccato, Io lo cancello. Così la prossima volta che viene chiamato, il QTableWidgetItem non è più valido ed è in crash.
Se ho solo una riga, tutto funziona come previsto ..
Qualche idea?
Grazie
Soluzione
Si dovrebbe creare solo la connessione una volta da quando il segnale è un segnale sul tavolo e non su un QTableWidgetItem
individuale. Quando emessa vi darà la QTableWidgdetItem
che avete cliccato su come argomento.