qt翻译--QDrag拖放类

QDrag Class Reference
[QtGui module]

该类提供 MIME 数据支持的拖放操作。
#include <QDrag>
公共函数:

QDrag
  ( QWidget *   dragSource   )
 
~QDrag   ()
Qt::DropAction
exec   ( Qt::DropActions   supportedActions   = Qt::MoveAction )
Qt::DropAction
exec   ( Qt::DropActions   supportedActions , Qt::DropAction   defaultDropAction   )
QPoint
hotSpot   () const
QMimeData *
mimeData   () const
QPixmap
pixmap   () const
void
setDragCursor   ( const QPixmap &   cursor , Qt::DropAction   action   )
void
setHotSpot   ( const QPoint &   hotspot   )
void
setMimeData   ( QMimeData *   data   )
void
setPixmap   ( const QPixmap &   pixmap   )
QWidget *
source   () const
QWidget *
target   () const
信号:
void
actionChanged   ( Qt::DropAction   action   )
void
targetChanged   ( QWidget *   newTarget   )
额外的继承的成员:
详细描述:
拖放是一个直观的方式,对于用户来移动数据,他被应用于许多桌面环境作为一个机制来复制数据。拖放被 qt 支持,在 QDrag 类,它处理大部分拖放操作。
用来拖放的数据被包含在 QMimeData 类。
        QDrag *drag = new QDrag(this);
      
         QMimeData *mimeData = new QMimeData;
      

    
      
    
         mimeData->setText(commentEdit->toPlainText());
      
         drag->setMimeData(mimeData);
      
QDrag 必须被构建在一个 QWidget 父类上,以确保 Qt 能在拖放完成后清理现场。
一个 pixmap 能被用来代表数据,当拖放在运行。他将移动随着光标到目标位置。这个 pixmap 典型的展示了一个图标代表 MIME 类型的数据正被传输,但是任何 pixmap 能被设置使用 setPixmap ()函数。光标的热点能被给一个到左上角相关的位置,使用 setHotSpot() 函数。
drag->setHotSpot(QPoint(drag->pixmap().width()/2,
      
                             drag->pixmap().height()));
      
注意:在 x11 pixmap 可能不能被保持随着鼠标移动,如果热点引起像素被直接显示在光标下。
资源和目标框架能被找到使用 source ()和 target ()。这些函数常常被使用来决定是否拖放操作开始和结束在通过一个 widget ,所以特别的行为能被执行。
QDrag 只处理拖放操作本身。应该由开发者决定是否一个拖操作开始,怎样一个 QDrag 对象应该被构建和使用。为了一个被给 widget ,常常那是必须的执行 mousePressEvent() 来决定是否用户已经按下一个鼠标按键。执行 mouseMoveEvent() 函数来检查是否一个 QDrag 是被需要的。
成员函数文件:

QDrag::QDrag ( QWidget * dragSource )

QDrag::~QDrag ()

void QDrag::actionChanged ( Qt::DropAction action )   [signal]

当一个与拖放相关的操作产生,该信号被发出。

Qt::DropAction QDrag::exec ( Qt::DropActions supportedActions = Qt::MoveAction )

开始拖放操作,返回一个值代表被请求的拖放操作当他完成时。用户能够选择的动作是特别的在 supportedActions 。缺省的动作将被选择在允许的动作按照下面的顺序: Move,Copy,Link
注意:在 linux Mac ,拖放操作能花一些时间,但是这个函数不堵塞事件循环。其他的时间仍然接受应用,当操作被执行。在 windows Qt 时间循环被堵塞当在操作中间。

Qt::DropAction QDrag::exec ( Qt::DropActions supportedActions, Qt::DropAction defaultDropAction )

defaultDropAction 决定哪个动作将被建议,当用户执行一个拖放不使用修饰键。

QPoint QDrag::hotSpot () const

返回热点的位置,相对于光标左上角。

QMimeData * QDrag::mimeData () const

QPixmap QDrag::pixmap () const

void QDrag::setDragCursor ( const QPixmap & cursor, Qt::DropAction action )

为动作设定拖放光标。这允许你来过载缺省的本地的光标。为了恢复使用本地的光标为动作通过在一个空的 QPixmap 作为光标。
这个动作只能是 CopyAction, MoveAction or LinkAction

void QDrag::setHotSpot ( const QPoint & hotspot )

设置热点。

void QDrag::setMimeData ( QMimeData * data )

设置拖放数据。

void QDrag::setPixmap ( const QPixmap & pixmap )

QWidget * QDrag::source () const

拖放源。

QWidget * QDrag::target () const

拖放目标。

void QDrag::targetChanged ( QWidget * newTarget )   [signal]

 

你可能感兴趣的:(职场,qt,休闲)