Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/11/2014, 11:15
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Qt. Implementar copiar y pegar

El portapapeles no es un ente abstracto donde todo tenga cabida de cualquier forma. Para guardar una estructura tienes que "preparar" el contenido de la estructura de alguna forma que te permita luego recuperar los valores.

En el caso de texto, una opción puede ser usar un separador:

Código C++:
Ver original
  1. void copiar( )
  2. {
  3.   QClipboard *clipboard = QApplication::clipboard( );
  4.   QString alPortapapeles = nombre + "\t" + apellidos + "\t" + QString::number( dni );
  5.   clipboard->setText( alPortapapeles );
  6. }
  7.  
  8. void pegar( )
  9. {
  10.   const QClipboard *clipboard = QApplication::clipboard( );
  11.   const QMimeData *mimeData = clipboard->mimeData( );
  12.  
  13.   if ( mimeData->hasText( ) )
  14.   {
  15.     QString delPortapapeles = clipboard->text( );
  16.     QStringList listado = delPortapapeles.split( '\t' );
  17.     nombre = listado.at( 0 );
  18.     apellidos = listado.at( 1 );
  19.     dni = listado.at( 2 ).toInt( );
  20.   }
  21. }