2010-07-28 2 views
5

J'ai une application Qt multi-plateforme, et peu importe comment je tweak l'interface utilisateur, il semble toujours bien sur certaines plates-formes et mauvais sur les autres, en raison des différences entre les styles de l'interface utilisateur. Par exemple, les marges semblent être universellement définies, même si les éléments sous-jacents changent de taille de façon spectaculaire d'une plate-forme à l'autre.Avec QT, existe-t-il un moyen de spécifier différentes dispositions d'interface utilisateur pour différents styles d'interface utilisateur?

Quelle est la méthode recommandée pour gérer cela?

Répondre

2

Probablement le moyen le plus sûr est d'avoir l'interface utilisateur la plus basique pour commencer. Personnellement, j'utilise le style de style css de la qt. Assurez-vous également que lorsque vous sous-classifiez vos widgets, vous surchargez correctement les méthodes événementielles (c'est-à-dire resizeEvent (...), transférez les paramètres à une super classe le cas échéant, etc.) Les recommandations de base de Qt Docs devraient le faire. Une autre note sur mise en page, assurez-vous que vous utilisez:

ENUM QSizePolicy :: Politique

de façon appropriée et vos mises en page de flux bien quand redimensionné etc, au lieu d'utiliser des positions fixes ...

2

S'il vous plaît jeter un oeil à QWindowsStyle, QWindowsXPStyle, QPlastiqueStyle.

Et utiliser

void QApplication::setStyle (QStyle * style) [static] 

En faisant cela, vous devriez avoir un regard sur tous les OS-es.

+0

Mais ce n'est pas vraiment une solution idéale pour une vraie application multi-plateforme. Personne ne veut utiliser une application sur, disons, OS X qui ressemble à une application Windows. – Nantucket

+0

D'accord! Sûr. Avez-vous essayé de définir MacOS Style sur MacOS et Windows Style sur Windows? Peut être que vous allez résoudre les problèmes avec des mises en page ... – Narek

Questions connexes