我无法从QT助手中弄清楚如何设置QSlider以在拖动时显示当前值,我最初的想法是:
QLabel* lblYear = new QLabel();
QSlider* sldYear = new QSlider(Qt::Horizontal);
QObject::connect(sldYear, &QSlider::valueChanged, [&]() {
lblYear->setText(sldYear->value);
});但它不起作用:
'QAbstractSlider::value': non-standard syntax; use '&' to create a pointer to member我不知道标签的想法是否可以,我也不介意改变它。唯一的要求是随时查看滑块的值。
发布于 2020-05-09 14:39:27
QObject::connect(sldYear, &QSlider::valueChanged, [](int value) {
lblYear->setText(QString::number(value));
});您需要将int值转换为QString才能在setText中使用它。此外,通过引用捕获指针并不总是安全的,而且它也没有意义,因为它与通过值捕获一样便宜。而且,在这种情况下,您甚至不需要这样做,您可以从信号接口获得value。
https://stackoverflow.com/questions/61692602
复制相似问题