您正试图将旧式Qt信号/插槽连接与新风格混合,这显然不起作用。 lambdas只能用于新的连接方式。如果您使用的是Qt 5,则连接可能如下:
QObject::connect( &btn_t, &QPushButton::clicked, [&text, &doverka](){ text.setText(doverka); });
你应该小心 text 和 doverka 在调用lambda之前不应销毁对象,因为它们是通过引用捕获的。
text
doverka
如果使用Qt 4. *,您应该使用旧语法。在您的情况下,只需在您的班级中提供一个插槽并连接信号:
QObject::connect( &btn_t, SIGNAL(clicked()), this, SLOT(onClicked()));
你的班级应该继承 QObject 包含像这样的插槽:
QObject
public slots: void onClicked() { text.setText(doverka); }
另请注意 text 和 doverka 应该是班上的成员。