std::function与Lambda
// Lambda表达式
auto lambda = [](int a)->int{ return a; };
auto newBtn = [](QString text, std::function<void()> func) -> QPushButton * {
QPushButton * btn = new QPushButton(QIcon(QStringLiteral(":/icons/") + text), "");
btn->setIconSize(QSize(40, 40));
btn->setFixedSize(40, 40);
QObject::connect(btn, &QAbstractButton::clicked, btn, func);
return btn;
};
addButton(newBtn("zoom-original", [this]() {
emit resetToOriginalBtnClicked();
}));