Pergunta

Estou usando uma caixa de spin com uma fonte personalizada que parece muito alta na caixa de spin. Como faço para mover o texto mais baixo?

Eu já reimplei QStyle e diminuiu a fonte em outro widget, mas não consigo encontrar onde fazê -lo com a caixa de spin. Deve haver um QRect Em algum lugar onde você pode simplesmente mover o topo, mas eu não sei e não consigo encontrar onde está.

Foi útil?

Solução

Qt especifica a QStyle::SC_SpinBoxEditField, o que parece ser o que você deseja modificar. Se bem me lembro corretamente de alguns anos atrás, quando eu estava fazendo coisas com estilos, você poderá conectar -se a obter opções para esse subcontrole, que incluiria o Rect dentro do qual ele deveria ser desenhado. Modificando isso pode obter o resultado que você deseja. Caso contrário, é um lugar para começar a procurar sua resposta.

Outras dicas

Isso é mais um palpite do que uma resposta positiva, mas você pode fazer isso com folhas de estilo:

spinbox->setStyleSheet("QSpinBox { bottom: -2px;}");

Idealmente, haveria um subcontrole ou algo para apenas o texto, mas o Documentação da folha de estilo Não liste um, o que pode implicar que o exposto acima terá consequências indesejáveis.

Você pode fazer:

spinBox->setAlignment(Qt::AlignCenter);//Or the Align Flag that you want

Espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top