![](/img/trans.png)
[英]Qt, C++: QListWidget internal drag&drop - how to connect to signal?
[英]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.