#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QMessageBox"
MainWindow::~MainWindow()
{
delete ui;
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("Qt connect 用法测试");
//各种connect用法演示
//1.1 信号、槽均无参数
connect(ui->btNorUnPara, SIGNAL(clicked()), this, SLOT(onbuttonClicked()));
// connect(ui->btNorUnPara, QCheckBox::clicked, this, onbuttonClicked);
//1.2 信号有参
//connect(ui->btNorPara, QCheckBox::clicked, this, buttonClickeded);
//参数列表只能写类型 否则会出现【No such slot错误】导致绑定失败
// connect(ui->btNorPara, SIGNAL(clicked(bool checked)), this, SLOT(onbuttonClickeded(bool checked)));
connect(ui->btNorPara, SIGNAL(clicked(bool)), this, SLOT(onbuttonClickeded(bool)));
//2.1
connect(ui->btLambdaUnPara, QCheckBox::clicked,[&]{
QMessageBox::information(this,"Tip","【lambda】:the button is clicked");
});
//2.2
connect(ui->btLambdaPara, QCheckBox::clicked,[&](bool bChecked){
if(bChecked)
{
QMessageBox::information(this,"","【lambda】:check is true");
}
else
{
QMessageBox::information(this,"","【lambda】:check is false");
}
});
}
void MainWindow::onbuttonClicked()
{
QMessageBox::information(this,"Tip","【Normal】:the button is clicked");
}
void MainWindow::onbuttonClickeded(bool checked)
{
if(checked)
{
QMessageBox::information(this,"Normal","【Normal】: checked is true");
}
else
{
QMessageBox::information(this,"Normal","【Normal】: checked is false");
}
}