我有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()));
这没有用。
有人可以建议如何实现我的目标吗?
答案 0 :(得分:0)
您是否尝试在myListWidget中重新实现dropEvent?
http://doc.qt.io/qt-5/qlistwidget.html#dropEvent
&#34;在此窗口小部件上删除拖动时,将调用此事件处理程序。事件在事件参数中传递。&#34;