我遇到了一种情况,我们需要知道当前正在使用的字体的文件名QFont.知道一个QFont可以给我们字体系列和Windows HFONT句柄.
字体系列是不够的,因为操纵类似Bold或Italic可能导致Windows选择不同的字体文件.(fe arial.ttf,arialbd.ttf,arialbi.ttf,ariali.ttf).
这段代码示例应该给我们<path>\arial.ttf:
QFont font("Arial", 12);
FindFontFileName(font.handle());
Run Code Online (Sandbox Code Playgroud)
而这段代码样本应该给我们 <path>\arialbi.ttf
QFont font("Arial", 12);
font.setStyle(QFont::StyleItalic);
font.setWeight(QFont::Bold);
FindFontFileName(font.handle());
Run Code Online (Sandbox Code Playgroud)