QT信号与槽Demo,生成一个按钮点击打印字符串
#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QMainWindow>
#include <QDebug>
void printString()
{
// 当按钮被点击时,打印字符串
qDebug() << "clicked!";
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个QMainWindow
QMainWindow *window = new QMainWindow();
window->setWindowTitle("click");
// 创建一个QPushButton
QPushButton *printButton = new QPushButton("click", window);
// 创建一个布局管理器并添加按钮
QVBoxLayout *layout = new QVBoxLayout(window);
layout->addWidget(printButton);
// 设置主窗口的布局
QWidget *centralWidget = new QWidget(window);
centralWidget->setLayout(layout);
window->setCentralWidget(centralWidget);
// 连接按钮的点击信号与槽函数
//QObject::connect(printButton, &QPushButton::clicked, [=](){qDebug() << "clicked!";});//Lambda表达式的[=]部分表示以值的方式捕获外部作用域中的所有变量,使得它们在Lambda表达式内部可用。由于这个Lambda表达式没有使用任何外部变量,所以实际上[=]可以省略,简化为[]。Lambda表达式的主体是{qDebug() << "clicked!";},这是一个简单的语句,当Lambda表达式被调用时执行。
QObject::connect(printButton, &QPushButton::clicked, printString);//由于printString是一个自由函数,所以不需要接收者参数
// 显示窗口
window->show();
return app.exec();
}
QT编程:信号与槽示例-按钮点击触发字符串打印
1736

被折叠的 条评论
为什么被折叠?



