Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检查QFont是否为衬线或无衬线_C++_Qt_Fonts - Fatal编程技术网

C++ 检查QFont是否为衬线或无衬线

C++ 检查QFont是否为衬线或无衬线,c++,qt,fonts,C++,Qt,Fonts,我有一个由用户选择的QFont: QFont font = QFontDialog::getFont(&ok, prevFont, this); 我如何知道它是否是衬线字体 这有用吗 bool isSansSerrif = (font.styleHint() & QFont::SansSerif); bool isSerrif = (font.styleHint() & QFont::Serif); 你检查QFont属性了吗?我用哪个函数来检查?Sans Serif仅

我有一个由用户选择的QFont:

QFont font = QFontDialog::getFont(&ok, prevFont, this);
我如何知道它是否是衬线字体

这有用吗

bool isSansSerrif = (font.styleHint() & QFont::SansSerif);
bool isSerrif = (font.styleHint() & QFont::Serif);

你检查QFont属性了吗?我用哪个函数来检查?Sans Serif仅与
styleHint
属性结合使用,但这里有一个关于字体匹配算法的提示。但是,我的字体已经被选中。您是否需要它在所有平台上工作,或者特别是在一个平台(Windows、Mac、Linux)上工作?我不认为你可以直接从Qt获取这些信息,但可能有一种不可移植的方式,比如从Windows上的
HFONT
句柄获取
LOGFONT
结构。我只需要在Windows上工作。测试表明,通过
QFont
本身或通过
qfontino
查询
styleHint
都不起作用。样式提示仅用于输出字体匹配,不会反映加载的实际系统字体的属性。Qt将它们用作识别最佳候选字体的指南。我可能错了,但我怀疑字体文件中除了字体名称中出现的文本之外,是否存在任何固有的衬线指示器。