Qt 中如何将QLCDNumber和QSpinBox用信号和槽连着一起lambol表达式
在Qt中,可以使用信号和槽机制将QLCDNumber和QSpinBox连接在一起。以下是使用lambda表达式将它们连接的示例代码:
QLCDNumber *lcdNumber = new QLCDNumber();
QSpinBox *spinBox = new QSpinBox();
// 连接信号和槽
QObject::connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged),
lcdNumber, [=](int value){
lcdNumber->display(value);
});
// 设置初始值
spinBox->setValue(0);
// 显示窗口
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(spinBox);
layout->addWidget(lcdNumber);
QWidget *window = new QWidget();
window->setLayout(layout);
window->show();
在上面的代码中,我们创建了一个QLCDNumber和一个QSpinBox,并将它们放置在一个水平布局中。然后,使用QObject::connect函数将QSpinBox的valueChanged信号连接到QLCDNumber的display槽上。
lambda表达式[=](int value){ lcdNumber->display(value); }中的[=]表示捕获外部变量,并在lambda函数中使用它们。在这种情况下,我们捕获了lcdNumber指针,并在lambda函数中使用它来调用display函数。
最后,我们设置了初始值为0,并显示窗口。当我们改变QSpinBox的值时,QLCDNumber会显示相应的值。
原文地址: https://www.cveoy.top/t/topic/iypX 著作权归作者所有。请勿转载和采集!