zoukankan      html  css  js  c++  java
  • 双击时不运行单击事件——加延时判断

    思路很简单,就是加一个延时,判断在特定时间内是否有第二个鼠标事件

    1. //tqt.h  
    2. #ifndef TQT_H_  
    3. #define TQT_H_  
    4.   
    5. #include <QtGui>  
    6. #include <QtCore>  
    7.   
    8. class ClickedLabel : public QLabel  
    9. {  
    10.     Q_OBJECT  
    11. private:  
    12.     int press;  
    13.     //QTimer *timer;  
    14. protected:  
    15.     void mousePressEvent(QMouseEvent *event);  
    16. public:  
    17.     ClickedLabel(QLabel *parent = 0);  
    18.     ~ClickedLabel();  
    19.     private slots:  
    20.         void SingleClicked();  
    21. };  
    22.   
    23.   
    24. #endif  
    25.   
    26.   
    27. #include "tqt.h"  
    28.   
    29. ClickedLabel::ClickedLabel(QLabel *parent /* = 0 */)  
    30. : QLabel(parent)  
    31. {  
    32.     press = 0;  
    33.     setText("Please Click ME~~~");  
    34.     resize(200, 200);  
    35. }  
    36.   
    37. ClickedLabel::~ClickedLabel()  
    38. {  
    39.   
    40. }  
    41.   
    42. void ClickedLabel::mousePressEvent(QMouseEvent *event)  
    43. {  
    44.     press++;  
    45.     if(1 == press)  
    46.         QTimer::singleShot(300, this, SLOT(SingleClicked()));  
    47. }  
    48.   
    49. void ClickedLabel::SingleClicked()  
    50. {  
    51.     if(1 == press)  
    52.         QMessageBox::information(this, tr("OK"), tr("Signal Clicked"));  
    53.     else  
    54.         QMessageBox::information(this, tr("OK"), tr("Double Clicked"));  
    55.     press = 0;  
    56. }  
    57.   
    58.   
    59. //main.cpp  
    60. #include "tqt.h"  
    61.   
    62. int main(int argc, char **argv)  
    63. {  
    64.     QApplication app(argc, argv);  
    65.     ClickedLabel *label = new ClickedLabel;  
    66.     label->show();  
    67.     return app.exec();  
    68. }  

    http://blog.csdn.net/small_qch/article/details/6742011

  • 相关阅读:
    Raspberry Pi(树莓派2代B型新手初体验)
    Webview内存泄漏解决办法
    学习日记(二)——自定义来电界面,监听来电广播,悬浮窗
    学习日记(一)----BaseActivity的写法
    学习记录---- viewpager里嵌套listview中adapter的写法
    listView的流畅性优化
    git 命令学习(二)
    git 命令学习(一)
    软件项目管理结课小结
    软件测试结课小结
  • 原文地址:https://www.cnblogs.com/findumars/p/4993548.html
Copyright © 2011-2022 走看看