我正在尝试将一个 QLabel 设置为等宽字体。默认情况下,我在设计器中将所有其他标签设置为“Arame-Regular”。通常,尝试在设计器中将我的任何标签设置为“Arame-Mono”(等宽字体)都不起作用。他们保持规律。
在我的 mainwindow.cpp 中的这段代码之后,应用程序中的每个标签都变为等宽:
QFontDatabase::addApplicationFont("/path/to/the/fonts/Arame-Mono.ttf");
QFont monospace("Arame-Mono");
ui->labelFontTest->setFont(monospace);
这解决了部分问题,我猜可以使用等宽字体,但我不希望应用程序中的每个标签都设置为等宽字体。我怎样才能只处理这个特定的标签来应用等宽字体,并保持所有其他标签的原样?
另一个副作用是我在启动时收到此消息:
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 文件中。字体位于项目目录内的字体文件夹中:
DISTFILES += \
Fonts/Arame-Mono.ttf \
Fonts/Arame-Regular.ttf \
任何帮助表示赞赏!