Qt开发自定义控件 魔术老鼠
在Qt图形界面编程中,我们可以使用Qt提供的一些控件来快速搭建出功能强大的用户界面。但是当我们需要实现一些特殊的功能时,就需要使用Qt的自定义控件了。本文将介绍如何使用Qt开发一个简单的自定义控件,即魔术老鼠。
首先,我们需要新建一个Qt Widget项目,并在工程中添加一个新的类,命名为MagicMouseWidget。接着,我们在这个类的头文件(.h)中添加如下代码:
class MagicMouseWidget : public QWidget
{
Q_OBJECT
public:
explicit MagicMouseWidget(QWidget *parent = nullptr);
virtual ~MagicMouseWidget();
protected:
virtual void mousePressEvent(QMouseEvent *event) override;
virtual void paintEvent(QPaintEvent *event) override;
private:
QPoint m_mousePos;
};
在这个类中,我们重载了QWidget类中的mousePressEvent()和paintEvent()函数,并添加了一个QPoint类型的成员变量m_mousePos,用于保存当前鼠标所在的位置。
接下来,在类的实现文件