У меня есть некоторые данные, доступные в фиксированной точке 16.16, которые я хотел бы изменить с помощью QDoubleSpinbox.
Проблема в том, что всякий раз, когда я конвертирую свою фиксированную точку в двойную, возникает неизбежная проблема с округлением. double = fixed / (double)65536
Возьмем, к примеру, 0.2
, в фиксированной точке это 0x00003333
, но когда я помещаю его в QDoubleSpinBox, он отображает 0.19999694824188
.
Но как только я прикасаюсь к счетчику, оно округляется до 0.2
.
Как сделать QDoubleSpinBox круглым при setValue?
QDoubleSpinbox ведет себя так, как задумано, но мой QAbstractTableModel
не был.
Когда элементы управления счетчиком не видны, таблица неявно использует QString для отображения значения, заданного в QVariant.
После реализации функции paint()
с фиксированная точность setnum()
в qstring отлично работает!