刷新代码如下:
QMapIterator<Numeric *, Channel *> i(d->allNumerics); while (i.hasNext()) { i.next();
Numeric *numeric = i.key(); Odae::Channel *channel = i.value();
numeric->setValue(channel->value()); }其中Numeric是继承qlineedit类,setValue实现如下:bool Numeric::setValue(double val){ m_value = val; setText(textFromValue(m_value)); return true;}QString Numeric::textFromValue(double value) const{ QString s = QString::null; if (m_prec <= 14) s = QString::number(value, m_format, m_prec); else s = QString::number(value, m_format, 6);
return m_prefix + s + m_suffix;}