Я хочу расширить QLCDNumber, чтобы показать единицу измерения (например, селектор Deg / Rad / Grad в старом калькуляторе) вместе с номером. Как я вижу на высоком уровне, чтобы быть независимым от стиля, нужно расширить область рисования, но ограничить QLCDNumber для рисования в расширенной области. Затем нарисуйте необходимое.
Другой подход может состоять в том, чтобы создать составной виджет с QLCDNumber без рамки и с тем, чтобы составной виджет заполнял тот же цвет фона и рисовал дополнительный текст вне QLCDNumber.
Тем не менее, другой подход заключается в перегрузке setValue () s.t. последняя цифра будет пустой, а затем нарисует там единицы (или даже использует QLabel внутри).
Каков наилучший способ заставить вещи работать и быть максимально независимыми от стиля?
Спасибо!
Если вы не возражаете против единиц, отображаемых в области цифр, и вы удовлетворены символами, которые QLCDNumber
уже предоставляет, вы можете предварительно отформатировать ваш номер + единицу текста и установить его как строка.
В противном случае я бы предложил упаковать QLCDNumber
и QLabel
виджет в пользовательский составной виджет с горизонтальной компоновкой, который вы можете предоставить с помощью необходимых методов, e. г.
setValue(int value, const QString& units);
Других решений пока нет …