1 つの QLabel を等幅フォントに設定しようとしています。デフォルトでは、デザイナーで他のすべてのラベルを「Arame-Regular」に設定しています。通常、デザイナーでラベルを「Arame-Mono」(等幅フォント) に設定しようとしても機能しません。彼らは定期的に滞在します。
mainwindow.cpp のこのコードの後、アプリケーションのすべてのラベルが等幅に変わります。
QFontDatabase::addApplicationFont("/path/to/the/fonts/Arame-Mono.ttf");
QFont monospace("Arame-Mono");
ui->labelFontTest->setFont(monospace);
これにより、問題の一部が解決されます。等幅フォントを使用できると思いますが、アプリケーションのすべてのラベルを等幅に設定したくありません。この 1 つの特定のラベルのみをアドレス指定して等幅フォントを適用し、他のすべてのラベルを元の状態に保つにはどうすればよいですか?
これのもう 1 つの副作用は、起動時に次のメッセージが表示されることです。
qt.qpa.fonts: Populating font family aliases took 159 ms. Replace uses of missing font family "Arame-Mono" with one that exists to avoid this cost.
私は両方とも、フォントを Mac にローカルにインストールし、.pro ファイルに追加しました。フォントは、プロジェクト ディレクトリ内の fonts フォルダー内にあります。
DISTFILES += \
Fonts/Arame-Mono.ttf \
Fonts/Arame-Regular.ttf \
どんな助けでも大歓迎です!