私はこれを実現する可能性についてウェブを検索しましたが、解決策は見つかりませんでした。受信していない領域、またはアプリケーションのウィンドウ外にドロップされた項目をリストから削除する簡単な方法はありますか?QListWidgetから項目をウィジェットの外にドロップすることでその項目を削除しますか?
これまでのところ、私はショートカットによって項目を削除するための削除キー受け入れる:
QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), myList);
shortcut->setContext(Qt::WidgetShortcut);
connect(shortcut, SIGNAL(activated()), this, SLOT(deleteSelection()));
をしかし、私はドラッグ&ドロップでリストに項目を追加するので、私はそれらを削除できるようにしたいと思います同じように。リスト内の項目はドラッグアンドドロップで注文することもできます。
ヒントやリンクがありがとうございます。
dropEventの代わりにdragLeaveEventを削除してください。 –
@ KamilKlimekそうするためには、ウィジェットをサブクラス化しなければならないと思いますか?他の方法はありませんか?私はそれがQListWidgetから欲しがるのはかなり標準的だと思ったでしょう。 – steps
イベントフィルタをインストールしてdropEventをキャッチしようとしました –