QT 为按钮添加事件

QT 为按钮添加事件

转自 https://blog.csdn.net/a1054359972/article/details/50748642

个人分类: qt初学

-.在vs2010环境中。

在QT designer中为helloword.ui添加pushbutton 

QT 为按钮添加事件

,返回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 为按钮添加事件

配置槽的参考:

QT 为按钮添加事件

 

二:单独使用qt creator

QT 为按钮添加事件

会自动添加clicked的响应方法