私はQtとC++の新機能ですので、いくつかの問題があります。私はmouseMoveEventの位置を取得し、マウスの位置にある私のpixmapに楕円を描くウィジェットを作成しようとしています。Qt 5のpaintEventでmouseMoveEventを使用するには?
#include "myimage.h"
#include <QPainter>
#include <QPen>
#include <QColor>
#include <QMouseEvent>
#include <QDebug>
Myimage::Myimage(QWidget *parent) : QWidget(parent)
{
setMouseTracking(true); // E.g. set in your constructor of your widget.
}
// Implement in your widget
void Myimage::mouseMoveEvent(QMouseEvent *event)
{
qDebug() << event->pos();
}
void Myimage::paintEvent(QPaintEvent * event)
{
event->accept();
QPixmap pixmap2("/home/gabriel/Qt_interfaces/OpenCVTests/Webcam_PyQt5/Images/Court_top_View.jpg");
QRect rectangle(0, 0, width()-1, height()-1);
QPainter painter(this);
painter.drawRect(rectangle);
painter.drawPixmap(5, 5, width()-10, height()-10, pixmap2);
painter.drawEllipse(pos(), 10 ,10);
}
マウスの位置がコンソールに印刷されているが、画像には楕円:あなたは、コードを見ることができます下に。
お手伝いできますか?
ありがとう、
ガブリエル。 docによると
こんにちは@eyllanesc。私はpyqtからqtに移行しようとしています。あなたのソリューションは私を再び助けました。どうもありがとうございました。 –
私はあなたがQtのドキュメントを読むことをお勧めします、それは最高です。 – eyllanesc
私はいくつかのC++チュートリアルを読んでいます。言語は私には新しいものですが、好きです。私は私のUIを構築し続ける前に、Qtのドキュメントを読んでいきます。ヒントをありがとう。 –