Qt:: Как опустить текст в QSpinBox
Я использую спинбокс с пользовательским шрифтом, который выглядит слишком высоко в спинбокс. Как мне переместить текст ниже?
Я уже переопределил QStyle
и сделал шрифт ниже в другом виджете, но я не могу найти, где это сделать с помощью spinbox. Там должно быть QRect
где-то, где вы можете просто сдвинуть верх, но я не знаю и, похоже, не могу найти, где это.
3 ответа
Qt указывает QStyle::SC_SpinBoxEditField
, который, кажется, что вы хотите изменить. Если я правильно помню несколько лет назад, когда я занимался стилями, вы должны иметь возможность получить параметры для этого субконтроля, который будет включать в себя прямоугольник, внутри которого он должен быть нарисован. Изменение, которое может получить желаемый результат. Если нет, то это место, где можно начать поиск вашего ответа.
Ты можешь сделать:
spinBox->setAlignment(Qt::AlignCenter);//Or the Align Flag that you want
Я надеюсь, что это поможет.
Это скорее предположение, чем положительный ответ, но вы можете сделать это с помощью таблиц стилей:
spinbox->setStyleSheet("QSpinBox { bottom: -2px;}");
В идеале должен быть субконтроль или что-то еще только для текста, но документация таблицы стилей не содержит такого, который может подразумевать, что вышеприведенное будет иметь нежелательные последствия.