使用QSpinBox的valueChanged()信号可以监测值变化。示例代码如下:

#include <QtWidgets>

class MyWidget : public QWidget {
public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {

        // 创建QSpinBox和QLabel
        QSpinBox *spinBox = new QSpinBox(this);
        QLabel *label = new QLabel(this);

        // 设置QSpinBox的范围和步长
        spinBox->setRange(0, 100);
        spinBox->setSingleStep(5);

        // 连接valueChanged()信号和槽函数
        connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged), [label](int value) {
            label->setText("当前值:" + QString::number(value));
        });

        // 创建布局并添加控件
        QVBoxLayout *layout = new QVBoxLayout(this);
        layout->addWidget(spinBox);
        layout->addWidget(label);

        setLayout(layout);
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}

该示例中,创建了一个QSpinBox和一个QLabel,并通过connect()函数将它们连接在一起,当QSpinBox中的值发生变化时,QLabel显示新的值。注意,要使用QOverload<>模板来指定信号参数类型。最后将QSpinBox和QLabel添加到布局中并显示窗口即可。

 进群领取qt开发学习资料以及技术交流  在下方↓↓↓↓↓↓↓↓

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐