ドラッグ&ドロップイベントの取得
①QUrlをインクルード
②コンストラクタでドラッグ受け取りの許可をする。
setAcceptDrops( true );
③ドラッグの二つのイベントをオーバーライドする。
void dragMoveEvent( QDragMoveEvent *e ) {}
void dragLeaveEvent( QDragLeaveEvent * e ) {}
④ドラッグ・ドロップのイベント関数を表記
//========================================
//ドラッグイベント
//========================================
void QGraphicsViewEx::dragEnterEvent(QDragEnterEvent *e)
{
e->accept();
if(e->mimeData()->hasFormat("text/uri-list"))
{
//これがないと受付られない。
e->acceptProposedAction();
}
}
//========================================
//ドロップイベント
//========================================
void QGraphicsViewEx::dropEvent(QDropEvent *e)
{
//ドロップの際の動作を記述
std::string str = e->mimeData()->urls().first().toLocalFile().toLocal8Bit ();//first().toLocal8Bit();
//とりあえず描画
this->DrawImage(str);
}
最終更新:2012年08月03日 10:04