1. C++ / Говнокод #4568

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    void QeLabel::mouseReleaseEvent(QMouseEvent *ev) {
    
        switch (ev->button()) {
        case Qt::LeftButton : {
                click++;
                click %=2;
                if (click == 0) {
                    emit dbl_clicked(id);
                }
                emit clicked(id);
                break;
            }
        default: break;
        }
    }

    сигналы на нажатие мыши

    Запостил: onto, 09 Ноября 2010

    Комментарии (5) RSS

    • уж если делать что-то вручную, то надо делать нормально: нету проверки на близость 2-х кликов по расстоянию и по времени (в винде граничные значения в систем-метриках).
      А вообще пустой разговор - это 100% говнокодовое велосипедо-изобретательство.
      Ответить
      • все решается стандартными средствами

        например так:

        void QeLabel::mousePressEvent(QMouseEvent *ev) {

        switch (ev->type()) {
        case QMouseEvent::MouseButtonDblClick : emit dbl_clicked(id); break;
        case QMouseEvent::MouseButtonPress : emit clicked(id); break;
        default: break;
        }
        }
        Ответить
    • каждый второй клик левой кнопкой мыши "двойной" и "одинарный"?
      код не делает, того, что должен. говнокода тут нет

      нахера постить всякую хуиту молодых долбоебов, которые не ведают, что творят?
      Ответить
      • Это их видение на решение проблемы. Но получился говнокод.
        Ответить
    • emit - это какая-то QT фишечка?
      Ответить

    Добавить комментарий