但是你的m_lastSpinBoxValue是未标记的值,无法使用
时间: 2024-02-18 11:06:22 浏览: 57
非常抱歉,我漏掉了定义`m_lastSpinBoxValue`这个变量的部分。可以在你的menu类的头文件中添加一个私有的整数成员变量`m_lastSpinBoxValue`,并在类的构造函数中将其初始化为SpinBox的初始值。代码示例:
menu.h:
```c++
class menu : public QMainWindow
{
Q_OBJECT
public:
explicit menu(QWidget *parent = nullptr);
~menu();
private slots:
void on_spinBox_valueChanged(int arg1);
private:
Ui::menu *ui;
int m_lastSpinBoxValue; // 添加私有成员变量
};
```
menu.cpp:
```c++
menu::menu(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::menu)
{
ui->setupUi(this);
// 初始化m_lastSpinBoxValue为SpinBox的初始值
m_lastSpinBoxValue = ui->spinBox->value();
}
menu::~menu()
{
delete ui;
}
void menu::on_spinBox_valueChanged(int arg1) {
// 获取SpinBox的值
int value = ui->spinBox->value();
// 根据SpinBox的值和上一次的值判断是+1还是-1
int diff = value - m_lastSpinBoxValue;
if (diff == 1 || diff == -1) {
// 更新Label的文本
QString labelText = ui->label->text();
labelText = labelText.replace(QString::number(m_lastSpinBoxValue), QString::number(value));
ui->label->setText(labelText);
}
// 记录上一次SpinBox的值
m_lastSpinBoxValue = value;
}
```
再次非常抱歉,希望这次回答能够满足你的需求。
阅读全文