簡體   English   中英

將拖放連接到QListWidget中的函數的最佳方法

[英]best way to connect Drag&Drop to a function in a QListWidget

我有一個裝滿物品的QListWidget

物料的訂單存儲在單獨的文檔類中。

我可以移動和更改項目的順序,但是只要通過拖放修改QListWidget的順序,我都想更新文檔類。

這是抽象的想法:

myListWidget::myListWidget(QWidget *parent) : QListWidget(parent)
{
    /*option*/ connect(...);
    /*option*/ setDragDropMode(QAbstractItemView::InternalMove);
}

void myListWidget::updateOrder()
{
    for(i=0; i<count(); i++) {
         ...function that updates the other class by QListWidget::item(int row)
    }
}

我已經看到QListWidget沒有下降信號,所以我嘗試通過以下方式將信號與子類模型相關聯:

connect(model(), SIGNAL(layoutChanged()), this, SLOT(updateOrder()));

這沒用。

有人可以建議如何實現我的目標嗎?

您是否嘗試過在myListWidget中重新實現dropEvent?

http://doc.qt.io/qt-5/qlistwidget.html#dropEvent

“將拖動拖放到此小部件上時將調用此事件處理程序。該事件在event參數中傳遞。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM