いつからかわかんないけど、Qtウィジェットアプリケーションで漢字を表示するといわゆる中華フォントになるようになったんだよねー。こんなふうに。

てことで、暫定的な対応としては、
メイン関数でmacOSで言語が日本語になっている場合にデフォルトフォントを"Osaka"(あるいは適当な日本語フォント)にすれば、とりあえずちゃんと日本の漢字が出るようになる。
きっといつか直るよね。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
#ifdef Q_OS_MACOS
QString locale = QLocale::system().bcp47Name();
if(locale == "ja") { // 日本語
QFont font("Osaka");
a.setFont(font);
}
#endif
MainWindow w;
w.show();
return a.exec();
}

コメント