Qt_GUI_IM_3_4 - 8BitsCoding/RobotMentor GitHub Wiki

목차


간단예시

void DoubleClickButton::mouseDoubleClickEven(QMouseEvent* event)
{
    emit doubleClicked();
    QPushButton::mouseDoubleClickEvent(event);
}
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    DoubleClickableButton * button  = new DoubleClickableButton(this);
    button->setText("Double Clickable Button");
    connect(button,&DoubleClickableButton::doubleClicked,[=](){
        qDebug() << "Button double clicked";
    });
}

Code

DoubleClickableButton.h

#ifndef DOUBLECLICKABLEBUTTON_H
#define DOUBLECLICKABLEBUTTON_H

#include <QPushButton>

class DoubleClickableButton : public QPushButton
{
    Q_OBJECT
public:
    explicit DoubleClickableButton(QWidget *parent = nullptr);

signals:
    void doubleClicked();

public slots:

    // QWidget interface
protected:
    void mouseDoubleClickEvent(QMouseEvent *event) override;
};

#endif // DOUBLECLICKABLEBUTTON_H

DoubleClickableButton.cpp

#include "doubleclickablebutton.h"

DoubleClickableButton::DoubleClickableButton(QWidget *parent) : QPushButton(parent)
{

}

void DoubleClickableButton::mouseDoubleClickEvent(QMouseEvent *event)
{
    emit doubleClicked();
    QPushButton::mouseDoubleClickEvent(event);
}

Widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

Widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include "doubleclickablebutton.h"
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    DoubleClickableButton * button  = new DoubleClickableButton(this);
    button->setText("Double Clickable Button");
    connect(button,&DoubleClickableButton::doubleClicked,[=](){
        qDebug() << "Button double clicked";
    });
}

Widget::~Widget()
{
    delete ui;
}
⚠️ **GitHub.com Fallback** ⚠️