2017-03-07 3 views
-3

저는 Qt의 초보자입니다. 알고 싶은데, 어떻게하면 창에있는 버튼이 클릭되는지 확인하는 이벤트를 만들 수 있습니까? 창에는 하나의 푸시 버튼이 있습니다.버튼을 클릭했을 때 확인 qt

내 질문에 대해 간단하고 정확한 예를 찾을 수 없으므로 여기에서 묻습니다. 나는 먼저 구글을했다.

고맙습니다.

답변

0

Qt는 신호 및 슬롯 패러다임을 사용합니다. 버튼이 클릭되었는지 확인하지 않습니다. 버튼을 클릭하면 신호를 내 보냅니다. 자신의 기능을 해당 신호에 연결할 수 있습니다. 따라서 해당 버튼을 클릭 할 때마다 신호가 방출되고 연결된 모든 기능이 트리거됩니다.

속성 및 메타 데이터와 함께 Qt의 핵심 개념 인 signals and slots을 확인하십시오. 버튼으로 무언가의 경우 거의 필요가 있지만 QWidget가 파생 것을

주, 버튼은 마우스 이벤트에 의해 트리거하고 당신이 원하는 경우에 당신이 그들을 무시할 수있는 다음과 같은 방법을 함께 제공 :

버튼을 누를 경우
virtual void mouseDoubleClickEvent(QMouseEvent * event) 
virtual void mouseMoveEvent(QMouseEvent * event) 
virtual void mousePressEvent(QMouseEvent * event) 
virtual void mouseReleaseEvent(QMouseEvent * event) 
1
class MyClass : public QWidget 
{ 
public: 
    MyClass() 
    { 
    QPushButton *pButton = new QPushButton(this); 
    QObject::connect(pButton, &QPushButton::clicked, this, &MyClass::onButtonClicked); 
    } 

public slots: 
    void onButtonClicked() {qDebug() << "Button clicked";}; 
}; 

onButtonClicked가 호출됩니다.

자세한 내용은 signals & slotsQPushButton signals을 참조하십시오.

관련 문제