Qt事件监听

接下来说说QT的响应事件吧,做过开发的应该都知道,无论是在做什么都离不开这个事件---event。好吧,今天说一说QT的事件监听是怎么实现的。先来看看一段代码吧:
 #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();
 }

运行截图:

(--------------完-------------------)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值