Archiv verlassen und diese Seite im Standarddesign anzeigen : ein QTable / clipboard Problem
TheDodger
24-09-2002, 07:49
Ich muß mal so eben eine SubKlasse von QTable ableiten, die ein Copy/ Cut / Paste über das Clipboard anbietet.
Logischerweise, über das Systemclipboard ... sowohl für Windows als auch für Linux ....
Jetzt habe ich versucht von QTextDrop eine Klasse abzuleiten, damit ich das darüber machen kann, aber das klappt irgenwie nicht so toll ...
Sobald ich 2 Apps offen habe und Daten von der einen kopiere und in die andere Tabelle kopiren möchte, stürzt die (paste) Application ab. :(
anda_skoa
24-09-2002, 10:04
Hi!
Ich hab bisher noch nicht mit Clipboard gearbeitet.
Bischen Drag'n'Drop, aber nur in der selben App.
Was mußt du denn kopieren?
Nur Text ginge auch über setText(), text()
Ist vielleicht QClipboard::data() == 0, oder der MIME Typ der falsche?
Ciao,
_
TheDodger
24-09-2002, 12:33
kopieren muß ich Teile des Tabelleninhaltes (alle markierten Zeilen) dabei auch evtl. Stati von eingebundenen QComboBox / QCheckbox ...
Ich hatte einen falschen subtype angegeben ... manchmal hat man auch ein Brett vor'm Kopf ...
Ich hab mir jetzt dafür eine Klasse von QDragText abgelitten und geb der das ganze als Text mit.
Beim Einfügen klamüser ich das ganze wieder auseinander ...
Also goodie will ich da noch eine Klasse basteln, welches die Verwaltung der Strings überniimmt ... allerdings weiß ich noch nicht, wie ich das mit den vielen Zeilen machen soll.
Bei einer QStringList werden 'leere' Columns nicht mit in die Liste übernommen ... *grummel*
anda_skoa
24-09-2002, 14:22
Hmm, wenn beide beteiligten Programme Qt Apps sind, geht es natürlich auch via QVariant
Man Macht für jede Zelle eine ensprechende QVariant Instanz, schreibt dann alle über einen QByteStream in ein QByteArray und übergibt das an das Clipboard.
Der andere ließt dann die QVariants mit einem ByteStream und behandelt sie entsprechend ihrem Typ.
Wenn die beiden Apps nicht Qt sind, geht es am flexibelsten über XML.
Sowas in der Art
<tableselection>
<row>
<cell type="text">Text</cell>
<cell type="number">12</cell>
</row>
</tableselection>
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.