/.h文件
#ifndef PROJECTLISTWIDGET_H
#define PROJECTLISTWIDGET_H
#include<QPoint>
#include<QListWidget>
#include<QMouseEvent>
#include<QApplication>
#include<QMimeData>
#include<QDrag>
class ProjectListWidget : public QListWidget
{
Q_OBJECT
public:
ProjectListWidget(QWidget *parent = 0);
protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void dragEnterEvent(QDragEnterEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
private:
void performDrag();
QPoint startPos;
};
#endif // PROJECTLISTWIDGET_H
//.cpp文件
#include "projectlistwidget.h"
ProjectListWidget::ProjectListWidget(QWidget *parent)
: QListWidget(parent)
{
setAcceptDrops(true);//设置组件接受拖放事件
}
void ProjectListWidget::mousePressEvent(QMouseEvent *event)
{//鼠标按下事件,
if (event->button() == Qt::Lef
Qwidget实现list互相拖动
最新推荐文章于 2024-06-20 18:38:50 发布
本文介绍了如何利用QWidget在Qt框架下实现列表项的拖放操作,详细讲解了拖放事件的处理过程,包括开始拖动、拖动中和释放时的事件响应,以及如何更新列表内容。
摘要由CSDN通过智能技术生成