.[ ČeskéHry.cz ].
Qt Drag Drop

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 10. únor 2012, 15:26:33    Předmět: Qt Drag Drop Odpovědět s citátem

Nezkoušel ste někdo drag and drop v QT Model/View struktuře? Přijde mi, že to může fungovat tak akorát pro StringListy z ukázkových příkladů, ale byl bych rád, kdyby mi to někdo vyvrátil.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1555

PříspěvekZaslal: 10. únor 2012, 20:13:45    Předmět: Odpovědět s citátem

Mrkni na item views puzzle example, tam se tahají obrázky (jestli to ale řeší tvůj problém, nevím).
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 11. únor 2012, 12:40:38    Předmět: Odpovědět s citátem

To ti rád vyvrátím Smile Funguje to pro cokoliv. Na jedné straně data zabalíš (metoda mimeData()), na druhé straně rozbalíš (metoda dropMimeData()). Co ta mime data obsahují je plně v tvojí režii.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 13. únor 2012, 09:14:03    Předmět: Odpovědět s citátem

Jo, to jsem pochopil, ty mimeData. Štvalo mě toto chování:

Nastavil jsem dragDrop akci na MoveItem; ale to se projevilo tak, že se nejprve zavolá: insertRows() a potom až removeRows(). Takže v jedné chvíli mám item rozkopírovaný 2x. Tomu neříkám "MoveItem".

Další věc, co mi tam chyběla, je nějaký abort DragDropu na úrovni Modelu. Jestli tam je, tak jsem ho po dni čtení dokumentace nenašel.

Celkově to na mě působilo zbytečně složitě (na rozdíl od jiných věcí v QT) - složitě z toho pohledu, že musím pročítat spoustu dokumentace a stejně když to přečtu tak nezbývá než krokovat debugerem zdrojáky QT, abych zjistil, co se kdy a odkud volá, či dokonce, které virtuální metody musím implementovat k dosažení nějakého chování. Předpokládám, že až dopíšu tento post a začnu programovat, tak se uhodím do čela a pochopím jejich filozofii :-).

EDIT: Nikoliv MoveItem, ale MoveAction a mode je InternalMove.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna