Python — Добавление модуля в QLCDNumber

Я хочу расширить QLCDNumber, чтобы показать единицу измерения (например, селектор Deg / Rad / Grad в старом калькуляторе) вместе с номером. Как я вижу на высоком уровне, чтобы быть независимым от стиля, нужно расширить область рисования, но ограничить QLCDNumber для рисования в расширенной области. Затем нарисуйте необходимое.

Другой подход может состоять в том, чтобы создать составной виджет с QLCDNumber без рамки и с тем, чтобы составной виджет заполнял тот же цвет фона и рисовал дополнительный текст вне QLCDNumber.

Тем не менее, другой подход заключается в перегрузке setValue () s.t. последняя цифра будет пустой, а затем нарисует там единицы (или даже использует QLabel внутри).

Каков наилучший способ заставить вещи работать и быть максимально независимыми от стиля?

Спасибо!

0

Решение

Если вы не возражаете против единиц, отображаемых в области цифр, и вы удовлетворены символами, которые QLCDNumber уже предоставляет, вы можете предварительно отформатировать ваш номер + единицу текста и установить его как строка.

В противном случае я бы предложил упаковать QLCDNumber и QLabel виджет в пользовательский составной виджет с горизонтальной компоновкой, который вы можете предоставить с помощью необходимых методов, e. г.

setValue(int value, const QString& units);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]