QListWidget Eintrag verschieben

Alles rund um die Programmierung mit Qt
Antworten
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

QListWidget Eintrag verschieben

Beitrag von reinki0013 »

Hallo Zusammen!

ich würde gerne bei meinem QListWidget das aktuell ausgewählte Item in ein anderes QListWidget ziehen (so das es beim 1. QListWidget weg ist und beim 2. eingefügt wird)...

Wie kann ich das umsetzen bzw. hat das schon jemand versucht?

besten dank im voraus :roll:

lg
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Drag- und Drop nennt sich das und läßt sich in der Doku unter Model/View-Programming finden...
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

Hallo zusammen!

ich habe 2 QListWidgets...
bei denen habe ich folgende Flags gesetzt:

Code: Alles auswählen

listwidget_yellow->setSelectionMode(QAbstractItemView::SingleSelection);
listwidget_yellow->setDragEnabled(true);
listwidget_yellow->viewport()->setAcceptDrops(true);
listwidget_yellow->setDropIndicatorShown(true);
jetzt würde ich ganz einfach, ganz simple einen eintrag in das andere Widget verschieben und abfragen ob dieser eintrag schon vorhanden ist...
das verschieben funktioniert dank der flags prima...aber leider bräuchte ich einen event oder was auch immer, damit ich überprüfen kann ob es diesen eintrag schon gibt...

gibt es da fertige methoden dafür?
wie sollte ich das am besten machen??
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

event?
Also meine Idee wäre:

1. conncet des emfangs QListWidget Ereignis changed() auf die Funktion die dann ne Prüfung macht.

2.a Funktion mit Prüfung greift den Inhalt vom Empfangs QListWidget und den Inhalt des Drops ab und vergleicht es?

2.b Oder wenn das Item das mit drecks and Drops verschoben wurde im Emfangs QListWidget vorhanden ist einfach alles in eine QStringlist werfen und die Doppelten löschen.

:roll:
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

24dan hat geschrieben:event?
Also meine Idee wäre:

1. conncet des emfangs QListWidget Ereignis changed() auf die Funktion die dann ne Prüfung macht.

2.a Funktion mit Prüfung greift den Inhalt vom Empfangs QListWidget und den Inhalt des Drops ab und vergleicht es?

2.b Oder wenn das Item das mit drecks and Drops verschoben wurde im Emfangs QListWidget vorhanden ist einfach alles in eine QStringlist werfen und die Doppelten löschen.

:roll:
moin,

also ganz verstehen tu ich es nicht...

wie gesagt, ich würde gerne abfangen wenn ich mittels drag&drop einen eintrag von einem dynamisch angelegten QListWidget in ein anderes QListWidget verschiebe...

Denn mittels den Signalen currentItemChanged, itemChanged usw. komme ich nicht in die funktion...
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

Nochmals in aller kürze:

ich habe ein vertical Layout in dem ich dynamisch 3 oder 2 QListWidgets anlege...ich will dann zwischen diesen 3 QListWidgets Einträge verschieben können und überprüfen ob es diese einträge schon gibt.
dafür bräuchte ich ein Signal oder ein Event...
da muss es doch etwas geben, das haben doch sehr viele anwendungen...

lg
reinki0013
Beiträge: 174
Registriert: 11. November 2008 09:37
Wohnort: AUT

Beitrag von reinki0013 »

hi nochmals,

also ich habs jetzt dank eines beispiels in einem buch hinbekommen das ich in die Funktion dropEvent komme wenn ich etwas auf mein QListWidget ziehe...

jetzt müsste ich noch herausfinden von wo ich den Eintrag "weggezogen" habe...also praktisch den absender herausfinden...

kann mir da jemand einen tipp geben??
wie löst ihr das?
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Hast Du mal versucht das QWidget * QDropEvent::source () const zu verwenden um herasuzubekommen von WO das Element kommt?

Sind denn nach dem Drag&Drop bei deinen QListWidgets doppelte Einträge vorhanden?
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Antworten