#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QMouseEvent>
class EventLabel :
public QLabel
{
protected:
void mouseMoveEvent(QMouseEvent *
event);
void mousePressEvent(QMouseEvent *
event);
void mouseReleaseEvent(QMouseEvent *
event);
};
void EventLabel::mouseMoveEvent(QMouseEvent *
event)
{
this->setText(QString(
"<center><h1>Move: (%1, %2)</h1></center>")
.arg(QString::number(
event->x()), QString::number(
event->y())));
}
void EventLabel::mousePressEvent(QMouseEvent *
event)
{
this->setText(QString(
"<center><h1>Press: (%1, %2)</h1></center>")
.arg(QString::number(
event->x()), QString::number(
event->y())));
}
void EventLabel::mouseReleaseEvent(QMouseEvent *
event)
{
QString msg;
msg.sprintf(
"<center><h1>Release: (%d, %d)</h1></center>",
event->x(),
event->y());
this->setText(msg);
}
int main(
int argc,
char *argv[])
{
QApplication app(argc, argv);
EventLabel *label =
new EventLabel;
label->setWindowTitle(
"MouseEvent Demo");
label->resize(300, 200);
label->show();
return app.exec();
}
本文出自 “豆子空间” 博客,请务必保留此出处http://devbean.blog.51cto.com/448512/223974
298



被折叠的 条评论
为什么被折叠?



