qt 鼠标单击widget界面,绘制一个圆圈示例
时间: 2023-07-13 08:20:01 浏览: 79
好的,这里是一个使用Qt的示例代码,可以在widget界面上鼠标单击时绘制一个圆圈。
```C++
#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QMouseEvent>
class Widget : public QWidget
{
public:
Widget(QWidget *parent = nullptr) : QWidget(parent)
{
setFixedSize(500, 500);
}
protected:
void paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(QPen(Qt::red, 5, Qt::SolidLine));
painter.drawEllipse(m_lastPoint, 50, 50);
}
void mousePressEvent(QMouseEvent *event)
{
m_lastPoint = event->pos();
update();
}
private:
QPoint m_lastPoint;
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
```
在这个示例中,我们创建了一个继承自QWidget的Widget类。在构造函数中,我们设置了widget界面的固定大小。在paintEvent()函数中,我们使用QPainter绘制了一个红色的圆圈。在鼠标单击事件mousePressEvent()中,我们获取了鼠标点击的位置,并在最后一次点击的位置绘制了圆圈。
您可以运行这个示例代码,然后在widget界面上单击鼠标,就可以看到绘制出来的圆圈了。