Existe-t-il un moyen indépendant de la plate-forme pour spécifier une police à largeur fixe pour un widget Qt ?
Si je définis la police sur "Monospace" dans Designer sur Linux, elle n'est pas trouvée sur Windows et Arial est utilisé à la place.
Existe-t-il un moyen indépendant de la plate-forme pour spécifier une police à largeur fixe pour un widget Qt ?
Si je définis la police sur "Monospace" dans Designer sur Linux, elle n'est pas trouvée sur Windows et Arial est utilisé à la place.
Vous pouvez utiliser la propriété style hint de QFont:
QFont font("Monospace");
font.setStyleHint(QFont::TypeWriter);
Si la police ne peut pas être trouvée (ce qui arrive avec Monospace sur Windows), l'algorithme de correspondance des polices de Qt essaie de trouver une police qui correspond à la suggestion de style donnée.
Un addendum utile: ce code ne fonctionne que si vous passez un nom de famille au constructeur QFont. Sinon, il utilisera la famille de polices par défaut, qui sera une largeur variable, ce qui annule ensuite l'indication de style. J'ai dû faire cela, QFont font("");
, lorsque je n'avais pas de police à espacement fixe spécifique à demander.
En fait, cela n'a pas fonctionné sur Qt 5 sur Linux, mais cela pourrait être dû à une mauvaise configuration de fontconfig dans notre version statique de Qt ; cependant, la méthode setStyleHint
a fonctionné.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.