QT中获取 QSpinBox的值
时间: 2023-10-25 14:21:00 浏览: 987
在 Qt 中获取 QSpinBox 的值可以使用 `value()` 函数。该函数返回 QSpinBox 的当前值。
以下是一个简单示例:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSpinBox spinBox;
spinBox.setRange(0, 100); // 设置范围
QPushButton button("Print Value");
QObject::connect(&button, &QPushButton::clicked, [&spinBox]() {
int value = spinBox.value();
qDebug() << "SpinBox value: " << value;
});
QVBoxLayout layout;
layout.addWidget(&spinBox);
layout.addWidget(&button);
QWidget window;
window.setLayout(&layout);
window.show();
return app.exec();
}
```
这个示例中,我们创建了一个 QSpinBox,并设置了它的范围。然后,我们创建了一个 QPushButton,点击它会获取 QSpinBox 的当前值并输出到控制台。注意,我们在 lambda 表达式中捕获了 QSpinBox,以便在按钮点击时获取其值。
当用户改变 QSpinBox 的值时,可以使用 `valueChanged()` 信号获取其新值。例如:
```cpp
QObject::connect(&spinBox, qOverload<int>(&QSpinBox::valueChanged), [](int newValue) {
qDebug() << "New value: " << newValue;
});
```
这个示例中,我们使用 `qOverload` 宏来指定我们要连接的信号类型,以及我们要连接的槽函数。当 QSpinBox 的值改变时,我们会输出其新值到控制台。
阅读全文