Buduję aplikację na komputer przy użyciu Qt, moja maszyna dev wygrywa 7 x 64 z japońskim ustawieniem regionalnym, standardowa czcionka systemowa to Meiryo. Większość z 7 interfejsu użytkownika znajduje się w tej czcionce, chociaż klasyczne/starsze programy, takie jak okno dostosowywania czcionek ui, używają innej czcionki, jaką jest MS UI Gothic. To mi nie przeszkadza, dopóki nie odkryłem, że QtCreator tworzy moją aplikację z MS UI Gothic w jednym miejscu, a Meiryo w drugim. Na przykład qlabels, qlineedits, qcombobox all używa MS UI Gothic, ale niestandardowy użytkownik z qtableview, który doda później, używa Meiryo.Jak uzyskać domyślne ustawienia czcionek systemowych w Qt?
Zrobiłem większość interfejsu użytkownika w Projektancie QtCreator, a wykonawca dodałem w kodzie. Jeśli zmienię czcionkę wszystkich widżetów na Meiryo w Projektancie, to oczywiście aplikacja będzie korzystać z Meiryo, dlatego wyglądam dobrze, ale w tym przypadku wolałbym, aby Qt wybrał automatycznie domyślną czcionkę systemu, ponieważ wygrana 7 nie będzie jedyną platforma Będę używał tego programu.
Co jeszcze bardziej podniosło moją obawę, to QApplication :: font() zwraca MS UI Gothic, który w moim przypadku jest fałszywy. Oczywiście mogę ustawić czcionkę na całej aplikacji za pomocą QApplication :: setFont(), ale to pokonuje cały cel posiadania natywnego wyglądu bez użycia czcionek mikromanaging.
Więc moje pytanie brzmi,
- jak Qt określić domyślną czcionkę i układ,
- jeśli jest to Qt Bug jak mogę iść o poruszanie się po niej?
- Jak korzystać z plików .ui i czy mój UI powinien używać domyślnej czcionki systemowej w środowisku wykonawczym?
pewne wyjaśnienia i fakty znalazłem
Chcę moja aplikacja używać domyślnej czcionki systemowej dla każdego tekstu.
This discussion powiedział, że Designer doda informacje o czcionce niezależnie od tego, czy tego chcesz, czy nie. Więc Qt będzie honorować te informacje, a nie domyślną czcionkę systemową. Przynajmniej ktoś, kto wspomniał o ręcznym usunięciu tych informacji, powinien ustawić czcionkę domyślną systemu Qt pick w środowisku wykonawczym.
W mojej maszynie dev QApplication :: font() zwraca WRONG domyślną czcionkę. ALE w jaki sposób QTableView dodany później w kodzie używa czcionki RIGHT? Skąd się wzięły te informacje?
Więc jeśli znajdę gdzie QTableView znajdzie te informacje, można uzyskać go w główny i ustaw go aplikacja szeroki z QApplication :: setFont(). Pozostaje ręczne usunięcie wszystkich informacji o czcionce, a NADZIEJA to zadziała. Ale to jest tak, dlaczego używamy Qt na pierwszym miejscu, nieprawdaż?
programy ps Qt Demo pokazał takie objawy, jak również i nie używam binarne QtSDK, Skompilowałem QT się dla każdego x86 i x64 i użyj obu z QtCreator (binarnie rozproszonego). moim toolchainem jest ekspresowa msvc2010. – Evan
domyślam się, że nikt nie wie huh – Evan
O ile nie określono inaczej, Qt używa domyślnej czcionki systemowej do renderowania tekstu. [Ten post] (http://qt-project.org/faq/answer/how_does_qt_pick_a_font_for_the_application) krótko omawia czcionki używane domyślnie w różnych systemach operacyjnych. Być może jestem zdezorientowany, jeśli chcesz tylko domyślnej czcionki systemowej na system operacyjny, nie rób nic i to dostaniesz ... Jeśli musisz wiedzieć, co to jest czcionka z jakiegoś powodu, [spróbuj tego] (http://lists.trolltech.com/qt-interest/2002-10/thread00280-0.html). –