1

これを実現する可能性をウェブで検索しましたが、解決策は見つかりませんでした。非受信領域またはアプリケーションのウィンドウの外側にドロップされたアイテムをリストから削除する簡単な方法はありますか?

これまでのところ、ショートカットを使用してアイテムを削除するための削除キーを受け入れます。

QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), myList);
shortcut->setContext(Qt::WidgetShortcut);
connect(shortcut, SIGNAL(activated()), this, SLOT(deleteSelection()));

しかし、ドラッグアンドドロップでリストにアイテムを追加するので、それらを同じ方法で削除できるようにしたいと考えています。リスト内のアイテムは、ドラッグ アンド ドロップで並べ替えることもできます。

ヒントやリンクをいただければ幸いです。

4

1 に答える 1

1

これは私にとってはうまくいくようです:

  • ドラッグ アンド ドロップ アクションは、Qt::MoveAction
  • の親QListWidget(例: QDialog) に次 のものがあることを確認します。
    • dragEnterEvent()実装された
    • dropEvent()実装されています (ここの Mig データは無視してください)
    • setAcceptDrops(true);

の MIME データを無視することは、アイテムの削除操作と同等dropEvent()である必要があります。Qt::MoveAction

幸運を!

于 2012-02-29T21:58:51.940 に答える