我已經在網上搜索瞭解可能性,但沒有找到解決方案。是否有一種從列表中刪除項目的簡單方法,該項目會丟棄在非接收區域或者應用程序窗口之外?通過將它從QListWidget中移除到窗口小部件外部來移除它?
到目前爲止,我接受了刪除鍵通過快捷方式刪除項:
QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), myList);
shortcut->setContext(Qt::WidgetShortcut);
connect(shortcut, SIGNAL(activated()), this, SLOT(deleteSelection()));
但自從我將項目添加到通過拖拽列表中,我希望能夠消除他們同樣的方式也是如此。列表中的項目也可以通過拖放進行排序。
任何提示或鏈接表示讚賞。
刪除它們dragLeaveEvent而不是dropEvent – 2012-02-13 08:57:26
@KamilKlimek所以你認爲我將不得不繼承小部件才能做到這一點?沒有其他辦法嗎?我會認爲這是一個非常標準的東西,希望從QListWidget。 – steps 2012-02-20 21:18:44
嘗試安裝事件過濾器並從中捕獲dropEvent – 2012-02-21 22:43:19