QT5连接信号功能

时间:2017-02-14 12:28:17

标签: c++ qt qt5

所以,我想在QT5按下时按下一个变平的按钮。我读过这篇文章 https://woboq.com/blog/new-signals-slots-syntax-in-qt5.html
似乎我应该能够在不创建自己的按钮类的情况下完成此操作。所以,我已经

QPushButton* button = new QPushButton("text", parent); QObject::connect(button, &QPushButton::clicked, button, &QPushButton::isFlat(true));
而且我得到了 error: call to non-static member function without an object argument
我的问题是;我读这个新语法错了吗?我可以只连接静态功能吗?

1 个答案:

答案 0 :(得分:3)

您正在尝试连接无实例的方法,例如使用lambda来捕获按钮实例:

QObject::connect(button, &QPushButton::clicked, button, 
                 [&button]() {button->setFlat(true)});

未经过测试。