Qt 信號與槽connect方式


1、自動連接

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    QPushButton *pushButton = new QPushButton(this);
    pushButton->setObjectName("TestButton");
    ui->setupUi(this);
}



Widget::~Widget()
{
    delete ui;
}


void Widget::on_TestButton_clicked()
{
    close();
}

如果槽函數命名方式為:on_控件名稱_clicked,則不需要再手動connect連接信號與槽函數,此時QT內部會有相應的機制,將控件與對應的槽函數關聯起來。

 

2、手動關聯

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    QPushButton *pushButton =new QPushButton(this);
    pp->setObjectName("TestButton");
    ui->setupUi(this);
    connect(pp,SIGNAL(clicked()),this,SLOT(mySlot()));
}

Widget::~Widget()
{
    delete ui;
}

void Widget::mySlot(){
    qDebug() << "Hello World";
}

槽函數並不是按 on_控件名稱_clicked 方式命名的,此時想將控件與該槽函數關聯的話,可以用手動connect,讓它們關聯起來。

 

3、設計模式關聯

在QT Creator 的 design 模式下,點擊下圖中提示的按鈕,可以進入信號槽編輯模式,可直接在兩個控件之間拖動,在兩者添加信號槽關聯機制

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM