Hallo zusammen,
ich habe eine MDI-Anwendung, in der ich Daten von einer Tabelle in eine Andere(QTableWidget tblDat) per D&D ziehen möchte.
Nach schalten von tblDat->setAcceptDrops(true) kann ich die Daten kopieren, aber eben nicht so wie ich es brauche.
Also habe ich wie folgt reimplementiert...
class myTbl : public ::QTableWidget{
public:
myTbl(QWidget *parent = 0, Qt::WFlags fl = 0);
~myTbl();
protected:
void dropEvent(QDropEvent *event);
};
...und anschließend tblDat vom Typ myTbl (statt QTableWidget) erstellt.
Nun mein Problem:
Beim droppen wird die Funktion dropEvent(QDropEvent *event) aufgerufen, ich komme aber nicht an die Daten. Zum Beispiel ist event->mimeData()->hasText() == false.
Wer weiß, wo mein Fehler liegt?
Marcel
QTableWidget: Keine Daten in DropEvent
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Mein Fehler/ Part two...
scheinbar gab es keine Daten.
Ich habe zusätzlich noch das DragEvent implementiert:
void myTbl::dragEnterEvent(QDragEnterEvent *event){
QString txt = this->item(this->currentRow(), 0)->text();
for(int a = 1; a < this->columnCount(); a++)
txt.append(";" + this->item(this->currentRow(), a)->text());
event->mimeData()->setText(txt);
}
Jetzt kann ich über qDebug sehen, daß das Event aufgerufen wird und die Daten meiner aktuellen Tabellenzeile in txt abgelegt werden.
Beim Aufruf von mimeData()->setText(txt) bekomme ich aber diese Fehlermeldung:
> passing 'const QMimeData' as 'this' argument of 'void QMimeData::setText(const QString&)' discards qualifiers
Bestimmt bin ich kurz vorm Ziel, kann aber mit dem Satz nichts anfangen...
scheinbar gab es keine Daten.
Ich habe zusätzlich noch das DragEvent implementiert:
void myTbl::dragEnterEvent(QDragEnterEvent *event){
QString txt = this->item(this->currentRow(), 0)->text();
for(int a = 1; a < this->columnCount(); a++)
txt.append(";" + this->item(this->currentRow(), a)->text());
event->mimeData()->setText(txt);
}
Jetzt kann ich über qDebug sehen, daß das Event aufgerufen wird und die Daten meiner aktuellen Tabellenzeile in txt abgelegt werden.
Beim Aufruf von mimeData()->setText(txt) bekomme ich aber diese Fehlermeldung:
> passing 'const QMimeData' as 'this' argument of 'void QMimeData::setText(const QString&)' discards qualifiers
Bestimmt bin ich kurz vorm Ziel, kann aber mit dem Satz nichts anfangen...
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Das ist definitiv das falsche Event. Siehe http://qt.nokia.com/doc/4.6/qabstractit ... EnterEvent
Ich denke da sollte alles stehen: http://doc.trolltech.com/4.6/model-view-dnd.html
Ich denke da sollte alles stehen: http://doc.trolltech.com/4.6/model-view-dnd.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung