Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Classes  ·  Annotées  ·  Hiérarchie  ·  Fonctions  ·  Structure  · 

QDropEvent Class Reference


The QDropEvent class is the event sent when a drag-and-drop is completed. More...

#include <qevent.h>

Inherits QEvent and QMimeSource.

Inherited by QDragMoveEvent.

List of all member functions.

Public Members

  • QDropEvent ( const QPoint & pos, Type typ=Drop ) 
  • const QPoint& pos () const
  • bool isAccepted () const
  • void ignore () 
  • bool isActionAccepted () const
  • void acceptAction ( bool y=TRUE ) 
  • enum Action { Copy, Link, Move, Private, UserAction=100 }
  • void setAction ( Action a ) 
  • Action action () const
  • QWidget* source () const
  • virtual const char* format ( int n = 0 ) const
  • virtual QByteArray encodedData ( const char * ) const
  • virtual bool provides ( const char * ) const
  • QByteArray data ( const char * f ) const (obsolete)
  • void setPoint ( const QPoint & np ) 

Detailed Description

The QDropEvent class is the event sent when a drag-and-drop is completed.

When a widget accepts drop events, it will receive this event if it has accepted the most recent QDragEnterEvent or QDragMoveEvent sent to it.

The widget should use data() to extract data in an appropriate format.

Examples: iconview/main.cpp desktop/desktop.cpp


Member Type Documentation

QDropEvent::Action

This type describes the action which a source requests that a target perform with dropped data. The values are:

  • Copy - the default action. The source simply users the data provided in the operation.
  • Link. The source should somehow create a link to the location specified by the data.
  • Move. The source should somehow move the object from the location specified by the data to a new location.
  • Private. The target has special knowledge of the MIME type, which the source should respond to similar to a Copy.
  • UserAction. The source and target can co-operate using special actions. This feature is not supported in Qt at this time.

The Link and Move actions only makes sense if the data is a reference, such as text/uri-list file lists (see QUriDrag).


Member Function Documentation

QDropEvent::QDropEvent ( const QPoint & pos, Type typ=Drop )

Constructs a drop event that drops a drop of type typ on point pos.

void QDropEvent::accept ( bool y=TRUE=TRUE )

Reimplemented for internal reasons; the API is not affected.

Call this to indicate whether the event provided data which your widget processed. To get the data, use encodedData(), or preferably, the decode() methods of existing QDragObject subclasses, such as QTextDrag::decode(), or your own subclasses.

Warning: To accept or reject the drop, call acceptAction(), not this function. This function indicates whether you processed the event at all.

See also acceptAction().

Examples: desktop/desktop.cpp

void QDropEvent::acceptAction ( bool y=TRUE=TRUE )

Call this to indicate that the action described by action() is accepted, not merely the default copy action. If you call acceptAction(TRUE), there is no need to also call accept(TRUE).

Action QDropEvent::action () const

Returns the Action which the target is requesting be performed with the data. If your application understands the action and can process the supplied data, call acceptAction(); if your application can process the supplied data but can only perform the Copy action, call accept().

QByteArray QDropEvent::data ( const char * f ) const

This function is obsolete. It is provided to keep old source working, and will probably be removed in a future version of Qt. We strongly advise against using it in new code.

Use QDropEvent::encodedData().

QByteArray QDropEvent::encodedData ( const char * format ) const [virtual]

Returns a byte array containing the payload data of this drag, in format.

data() normally needs to get the data from the drag source, which is potentially very slow, so it's advisable to call this function only if you're sure that you will need the data in format.

The resulting data will have a size of 0 if the format was not available.

See also format() and QByteArray::size().

Reimplemented from QMimeSource.

const char* QDropEvent::format ( int n = 0 ) const [virtual]

Returns a string describing one of the available data types for this drag. Common examples are "text/plain" and "image/gif". If n is less than zero or greater than the number of available data types, format() returns 0.

This function is provided mainly for debugging. Most drop targets will use provides().

See also data() and provides().

Examples: iconview/main.cpp

Reimplemented from QMimeSource.

void QDropEvent::ignore ()

The opposite of accept().

bool QDropEvent::isAccepted () const

Returns TRUE if the drop target accepts the event.

bool QDropEvent::isActionAccepted () const

Returns TRUE if the drop action was accepted by the drop site, and FALSE if not.

const QPoint& QDropEvent::pos () const

Returns the position where the drop was made.

bool QDropEvent::provides ( const char * mimeType ) const [virtual]

Returns TRUE if this event provides format mimeType or FALSE if it does not.

See also data().

Reimplemented from QMimeSource.

void QDropEvent::setAction ( Action a )

Sets the action. This is used internally, you should not need to call this in your code - the source decides the action, not the target.

void QDropEvent::setPoint ( const QPoint & np )

Sets the drop to happen at np. You do normally not need to use this as it will be set internally before your widget receives the drop event.

QWidget* QDropEvent::source () const

If the source of the drag operation is a widget in this application, this function returns that source, otherwise 0. The source of the operation is the first parameter to to drag object subclass.

This is useful if your widget needs special behavior when dragging to itself, etc.

See QDragObject::QDragObject() and subclasses.


Search the documentation, FAQ, qt-interest archive and more (uses www.trolltech.com):


This file is part of the Qt toolkit, copyright © 1995-2005 Trolltech, all rights reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 44
  2. Microsoft ouvre aux autres compilateurs C++ AMP, la spécification pour la conception d'applications parallèles C++ utilisant le GPU 22
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. RIM : « 13 % des développeurs ont gagné plus de 100 000 $ sur l'AppWord », Qt et open-source au menu du BlackBerry DevCon Europe 0
  5. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
Page suivante

Le blog Digia au hasard

Logo

Déploiement d'applications Qt Commercial sur les tablettes Windows 8

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 2.3
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web