这是一个 SpinBox 示例,它将其更改写入基础变量。我遇到的主要问题是在构造小部件时调用 valueChanged。有没有更优雅的方法来做到这一点?我认为将小部件连接到自身很奇怪,但 valueChanged 不是虚拟的。
class ValueWriterInt: public QSpinBox {
Q_OBJECT
public:
ValueWriterInt(vector<int*> const& value): myValue(value) {
QObject::connect(this, SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int)));
}
~ValueWriterInt() {}
private slots:
void valueChanged(int new_value) {
for (auto it = myValue.begin(); it != myValue.end(); ++it)
**it = new_value;
}
private:
vector<int*> myValue;
};