下面是一个使用信号和槽的简单Qt示例:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button("Hello World!");
button.show();
QObject::connect(&button, &QPushButton::clicked, &app, &QApplication::quit);
return app.exec();
}
这个程序创建了一个QPushButton对象,当用户点击按钮时,应用程序将退出。它使用QObject::connect()函数将QPushButton的clicked信号连接到QApplication的quit槽。
在这个例子中,我们使用了lambda表达式来指定要执行的代码:
QObject::connect(&button, &QPushButton::clicked, &app, [&](){
qDebug() << "Button clicked!";
app.quit();
});
这里,我们定义了一个lambda表达式,它会输出一条消息并退出应用程序。注意,我们可以通过&捕获所有的外部变量,以便在lambda表达式中访问它们。