1. 程式人生 > >QT 為按鈕新增事件

QT 為按鈕新增事件

-.在vs2010環境中。

在QT designer中為helloword.ui新增pushbutton 


,返回vs

(1):第一種方式:

在helloword.h中新增:

public slots:
    void ClickButton();

在helloword.cpp中:

建構函式中新增:

connect(ui.button_exit, SIGNAL(clicked()), this, SLOT(ClickButton()));

並定義方法:

void helloword::ClickButton()
{
    //what you want to do

   //QMessageBox::information(this, "My Tittle", "Hello World!");
    ui.button_exit->setText(tr("(adgkl;kj)"));
}

(2).第二種方式:

.h中新增:

protected:
    bool eventFilter(QObject *target, QEvent *e);

.cpp中新增:

   bool helloword::eventFilter(QObject *target, QEvent *e)
{
    if(target == ui.button_exit)
    {
        if(e->type() == QEvent::MouseButtonDblClick) //雙擊訊息
            QMessageBox::about(this,"x","x");
    }
    return QMainWindow::eventFilter(target, e);
}

(3).第三種方式:

.h中新增

public slots:
    void myExitButtonFuc();

.cpp中新增:

   void helloword::myExitButtonFuc()
{
    ui.button_exit->setText(tr("(myExitButtonFunc)"));
}

在ui中為button新增訊號槽:


配置槽的參考:


二:單獨使用qt creator


會自動新增clicked的響應方法