处理鼠标响应事件(最简单控件 good)
2016-08-24 23:43
471 查看
贴下代码:
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QtGui>
#include <QMouseEvent>
class MyWidget : public QWidget
{
public:
MyWidget();
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void paintEvent(QPaintEvent *event);
private:
QPoint m_PointStart;
QPoint m_PointEnd;
};
#endif // MYWIDGET_H
#include <QtGui/QApplication>
#include "mainwindow.h"
#include "mywidget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget widget;
widget.show();
return a.exec();
}
#include "mywidget.h"
MyWidget::MyWidget()
{
resize(240,320);
}
void MyWidget::mousePressEvent(QMouseEvent *event)
{
m_PointStart = event->pos();
}
void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
//m_PointEnd = event->pos();
//update();
}
void MyWidget::mouseReleaseEvent(QMouseEvent *event)
{
m_PointEnd = event->pos();
update();
}
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setBrush(QBrush(QColor(255,0,0)));
painter.drawPixmap(0,0,240,320,QPixmap("images/frame1.jpg"));
if(m_PointStart.x() < m_PointEnd.x())
painter.drawPixmap(0,0,240,320,QPixmap("images/frame2.jpg"));
else if(m_PointStart.x() > m_PointEnd.x())
painter.drawPixmap(0,0,240,320,QPixmap("images/frame3.jpg"));
} http://www.cppblog.com/qianqian/archive/2010/07/27/121418.html
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QtGui>
#include <QMouseEvent>
class MyWidget : public QWidget
{
public:
MyWidget();
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void paintEvent(QPaintEvent *event);
private:
QPoint m_PointStart;
QPoint m_PointEnd;
};
#endif // MYWIDGET_H
#include <QtGui/QApplication>
#include "mainwindow.h"
#include "mywidget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget widget;
widget.show();
return a.exec();
}
#include "mywidget.h"
MyWidget::MyWidget()
{
resize(240,320);
}
void MyWidget::mousePressEvent(QMouseEvent *event)
{
m_PointStart = event->pos();
}
void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
//m_PointEnd = event->pos();
//update();
}
void MyWidget::mouseReleaseEvent(QMouseEvent *event)
{
m_PointEnd = event->pos();
update();
}
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setBrush(QBrush(QColor(255,0,0)));
painter.drawPixmap(0,0,240,320,QPixmap("images/frame1.jpg"));
if(m_PointStart.x() < m_PointEnd.x())
painter.drawPixmap(0,0,240,320,QPixmap("images/frame2.jpg"));
else if(m_PointStart.x() > m_PointEnd.x())
painter.drawPixmap(0,0,240,320,QPixmap("images/frame3.jpg"));
} http://www.cppblog.com/qianqian/archive/2010/07/27/121418.html
相关文章推荐
- Android学习笔记(一)——简单的控件和基本响应:鼠标事件的响应
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- 解决]VC:CDataGrid控件响应鼠标双击事件
- Silverlight学习笔记(七)-----Silverlight事件处理之鼠标事件实现简单拖拽
- mapabc高德地图显示多个点,并且每个marker点可以响应鼠标点击事件,处理跳转页面
- VC++ 中响应鼠标悬停事件的简单方法(2005-8-10)
- 让Shockwave flash控件响应鼠标移动的事件
- JavaScript处理简单鼠标事件
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- 用wx.CheckBox创建复选框控件并响应鼠标点击事件
- java小程序中鼠标事件的响应处理(包含右键、双击等)
- 处理鼠标右键在CListCtrl控件的表头CHeaderCtrl上的响应
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- java例程练习(简单的画图程序[鼠标事件处理])
- java小程序中鼠标事件的响应处理(包含右键、双击等)
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- 使用DXUT框架简单处理鼠标事件
- 组合控件的鼠标事件响应
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用