2010-07-28 17 views
5

Posiadam wieloplatformową aplikację Qt i niezależnie od tego, jak dostosowuję interfejs użytkownika, zawsze wygląda dobrze na niektórych platformach i źle na innych, ze względu na różnice między stylami interfejsu użytkownika.Czy w QT można określić różne układy interfejsu użytkownika dla różnych stylów interfejsu użytkownika?

Na przykład marginesy wydają się być ustawione uniwersalnie, nawet jeśli podstawowe elementy zmieniają się dramatycznie z jednej platformy na drugą.

Jaki jest zalecany sposób radzenia sobie z tym?

Odpowiedz

2

Prawdopodobnie najbezpieczniejszym sposobem jest posiadanie najbardziej podstawowego interfejsu użytkownika. Osobiście używam stylu CSS qt. Upewnij się również, że podczas tworzenia podklas widżetów, odpowiednio nadpisujesz metody zdarzeń (to jest resizeEvent (...), przekazuj parametry do super klasy, gdy jest to odpowiednie.) Odpowiednie zalecenia z Qt Docs powinny zrobić. Inna uwaga na układy, upewnij się, że używasz:

enum QSizePolicy :: Polityka

odpowiednio i wasze układy płynąć dobrze, kiedy zmieniany itp, zamiast używać stałych stanowisk ...

2

Proszę spojrzeć na QWindowsStyle, QWindowsXPStyle, QPlastiqueStyle.

I używać

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

Robiąc to powinieneś mieć jedno spojrzenie na wszystkich OS-ach.

+0

Ale to naprawdę nie jest idealne rozwiązanie dla prawdziwej aplikacji na różne platformy. Nikt nie chce używać aplikacji na przykład na OS X, która wygląda jak aplikacja Windows. – Nantucket

+0

Zgoda! Pewnie. Czy próbowałeś ustawić styl MacOS na MacOS i Windows Style na Windowsie? Być może rozwiążesz problemy z układami ... – Narek

Powiązane problemy