qt的QListWidget有选择拖拽的属性, list1->setDragEnabled(true):可拖拽list2->setAcceptDrops(true):接受拖拽;这样简单设置之后能满足我们的需求,但会有一个问题,就是从list1拖拽到list2的item拖拽动作完成后这个item还依旧在list1上面,为了解决这个问题,我们可以写一个自己的QListWidget类,先看下效果:
先看myQlistWidget的声明:
class myQlistWidget : public QListWidget{
Q_OBJECT
public:
myQlistWidget(QString name);
signals:
//发送删除信号
void Draged(QListWidgetItem *item);
//接受拖拽来的的item
void PressItem(QListWidgetItem *item);
public slots:
//响应删除信号
void OnRemoveItem(QListWidgetItem *item);
//A响应press信号
void OnClickedItem(QListWidgetItem *item);
//响应item changed信号
void OnItemChanged(QListWidgetItem *item);
//B相应A的press信号
void RecvPressItem(QListWidgetItem *item);
private:
//qlistwidg