Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QDrag类提供了基于MIME的拖放支持拖放的数据传输。More...
继承QObject。
该QDrag类提供了基于MIME的拖放支持拖放的数据传输。
拖放是一种直观的方式为用户在应用程序中各地复制或移动数据,并且被用在许多桌面环境作为一种机制来复制应用程序之间的数据。拖动和Qt中的拖放支持是围绕该处理大部分的拖放操作的细节QDrag类。
通过拖放操作要传输的数据被包含在一个QMimeData对象。这是指定的setMimeData()函数以下面的方式:
QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; mimeData->setText(commentEdit->toPlainText()); drag->setMimeData(mimeData);
需要注意的是setMimeData( )分配的所有权QMimeData反对QDrag对象。该QDrag必须在堆上与父构造QWidget确保Qt可以拖动后清理和删除操作已经完成。
一个像素图可以用来表示数据,而拖动操作正在进行,并将光标移动到放置目标。这个像素图通常显示一个图标,表示该MIME类型正在传送的数据的,但任何像素映像可以被设置setPixmap( ) 。光标的热点可以给出相对位置一个与该像素图的左上角setHotSpot()函数。下面的代码位置的像素图,使光标的热点点,其底边的中心:
drag->setHotSpot(QPoint(drag->pixmap().width()/2, drag->pixmap().height()));
Note:在X11上,像素图可能无法跟上鼠标移动,如果热点直接导致光标下要显示的像素图。
源和目标部件可与发现source()和target( ) 。这些功能通常是用来确定是否拖放操作开始和结束于相同的部件,因此,特殊的行为可以被实现。
QDrag只处理拖放操作本身。它是由开发人员来决定拖动操作开始时,以及如何QDrag对象应该被构建和使用。对于给定窗口小部件,它通常需要重新实现mousePressEvent()确定用户是否按下鼠标按钮,并重新实现mouseMoveEvent()检查一个QDrag是否是必需的。
该dragSource的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个新的拖动对象通过指定的窗口小部件dragSource。
开始拖放操作,并返回一个值,指示请求的拖放操作何时完成。下拉的动作,用户可以选择在指定supportedActions。默认建议的行动会按以下顺序允许的动作中进行选择:移动,复制和链接。
Note:在Linux和Mac OS X上,拖放操作可能需要一些时间,但这个功能不会阻止事件循环。其他事件仍传送到应用程序,同时执行操作。在Windows上, Qt的事件循环的操作过程中受阻时。
此功能被引入Qt的4.3 。
开始拖放操作,并返回一个值,指示请求的拖放操作何时完成。下拉的动作,用户可以选择在指定supportedActions。默认建议的行动会按以下顺序允许的动作中进行选择:移动,复制和链接。
Note:在Linux和Mac OS X上,拖放操作可能需要一些时间,但这个功能不会阻止事件循环。其他事件仍传送到应用程序,同时执行操作。在Windows上, Qt的事件循环的操作过程中受阻时。
此功能被引入Qt的4.3 。
开始拖放操作,并返回一个值,指示请求的拖放操作何时完成。下拉的动作,用户可以选择在指定supportedActions。
该defaultDropAction决定当用户执行一拖而不使用组合键的操作将被提出。
Note:在Linux和Mac OS X上,拖放操作可能需要一些时间,但这个功能不会阻止事件循环。其他事件仍传送到应用程序,同时执行操作。在Windows上, Qt的事件循环的操作过程中受阻。但是,QDrag.exec( )在Windows上导致processEvents ( )被频繁调用,以保证GUI作出响应。如果有任何循环或操作被调用,而拖动操作是积极的,它会阻止拖动操作。
此功能被引入Qt的4.3 。
返回到光标的左上角相对于热点的位置。
See also setHotSpot( ) 。
返回由所述拖动对象所封装的MIME数据。
See also setMimeData( ) 。
返回用于表示在拖动的数据拖放操作的像素图。
See also setPixmap( ) 。
设置拖动cursor为action。这使您可以复盖默认的本地游标。要恢复到使用本地光标action传递一个空QPixmap如cursor。
该action只能是CopyAction , MoveAction或LinkAction 。 DropAction的所有其他值将被忽略。
设定相对于热点的位置,以用于通过指定的点的像素图的左上角hotspot。
Note:在X11上,像素图可能无法跟上鼠标移动,如果热点直接导致光标下要显示的像素图。
See also hotSpot( ) 。
该data说法有它的所有权转移给Qt的。
设置要发送到给定的MIME数据data。该数据的所有权被转移到QDrag对象。
See also mimeData( ) 。
Sets pixmap作为像素图用来表示在一个拖动数据拖放操作。你可以拖动操作开始之前,只设置一个像素图。
See also pixmap( ) 。
返回拖动对象的源。这是其中的拖放操作起源的部件。
返回拖放操作的目标。这是一个小部件,这是拖动物体跌。
这是该信号的默认超载。
这个信号被发射时的action与拖变化有关。
See also targetChanged( ) 。
这是该信号的默认超载。
这个信号被发射时的拖放操作改变目标,以newTarget新的目标。
See also target()和actionChanged( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |