16,816
社区成员




MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
EditView* editView = new EditView(this);
editView->move(QPoint(0, 0));
editView->resize(100, 100);
}
#ifndef EDITVIEW_H
#define EDITVIEW_H
#include <QWidget>
class EditView : public QWidget
{
Q_OBJECT
public:
explicit EditView(QWidget *parent = 0);
signals:
public slots:
protected:
void mouseMoveEvent(QMouseEvent *event);
};
#endif // EDITVIEW_H
#include "editview.h"
#include <QtOpenGL/QGLWidget>
EditView::EditView(QWidget *parent) :
QWidget(parent)
{
// 在这里只要放入子窗口,鼠标不按住就无法响应到 mouseMoveEvent 事件,不放子窗口就可以响应,这是怎么回事?
// 该如何解决?
// QGLWidget *widget = new QGLWidget(QGLFormat(QGL::SampleBuffers), this);
QWidget *widget = new QWidget(this);
widget->resize(QSize(100, 100));
widget->move(0, 0);
setMouseTracking(true);
}
void EditView::mouseMoveEvent(QMouseEvent *event)
{
setCursor(Qt::SizeBDiagCursor);
}