アットウィキロゴ

ドラッグ&ドロップ

ドラッグ&ドロップイベントの取得

  • GraphicsViewでのファイル名取得

①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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。