qt_demoe/movewidget/movewidget.h

50 lines
1.2 KiB
C
Raw Normal View History

2019-09-28 15:30:33 +00:00
#ifndef MOVEWIDGET_H
#define MOVEWIDGET_H
/**
* :feiyangqingyun(QQ:517216493) 2019-9-28
* 1:widget
* 2:
* 3:widget
*/
#include <QWidget>
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include <QtDesigner/QDesignerExportWidget>
#else
#include <QtUiPlugin/QDesignerExportWidget>
#endif
class QDESIGNER_WIDGET_EXPORT MoveWidget : public QObject
#else
class MoveWidget : public QObject
#endif
{
Q_OBJECT
public:
explicit MoveWidget(QObject *parent = 0);
protected:
bool eventFilter(QObject *watched, QEvent *event);
private:
QPoint lastPoint; //最后按下的坐标
bool pressed; //鼠标是否按下
bool leftButton; //限定鼠标左键
bool inControl; //限定在容器内
2019-09-28 15:30:33 +00:00
QWidget *widget; //移动的控件
public Q_SLOTS:
//设置是否限定鼠标左键
void setLeftButton(bool leftButton);
//设置是否限定不能移出容器外面
void setInControl(bool inControl);
2019-09-28 15:30:33 +00:00
//设置要移动的控件
void setWidget(QWidget *widget);
};
#endif // MOVEWIDGET_H