gpt4 book ai didi

linux - 相同的 QFont 配置导致嵌入式 Linux 和 Linux Ubuntu 之间的字体不同

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:22 25 4
gpt4 key购买 nike

我遇到了一个问题:我使用 Qt 4.8 为嵌入式 Linux 开发了一个应用程序,其中所有字体都正确无误。但是当我为 Linux Ubuntu 编译相同的应用程序时,所有字体都变得杂乱无章且格式错误。

确保两者具有相同的字体配置,我在使用 QFont::toString() 的嵌入式编译和在 Ubuntu 配置中读取了其中一个标签的字体配置,它们是两者都等于 (DejaVu Sans,20,-1,5,50,0,0,0,0,0)。

我还使用 QApplication::font() 中的相同函数检查了默认字体配置,一切都是一样的。

这是嵌入式 Linux 中正确版本的图片:

Correct fonts

这是具有相同配置的标签的图片:

Wrong fonts

上面提到的字体值是关于顶部中心的大标题字体。

那么,如果我使用相同的 Qt 版本 (4.8)、相同的操作系统(Linux,即使是 Embedded for ARM 而另一个是 Ubuntu 14,即使是最难的操作系统)和相同的字体配置,这又是怎么回事呢?我该如何解决这个问题,使 Ubuntu 字体与嵌入式 Linux 完全一样?

最佳答案

安装相同的字体。我的猜测是 DejaVu Sans 没有安装在你的 Ubuntu 系统上,因为文本看起来参差不齐; Qt 可能选择了替代字体。

请注意,QFont::toString() 仅返回您设置的内容,而不是底层字体系统选择 的内容。使用 QFontInfo 查看“真实”字体是什么:

The QFontInfo class provides the same access functions as QFont, e.g. family(), pointSize(), italic(), weight(), fixedPitch(), styleHint() etc. But whilst the QFont access functions return the values that were set, a QFontInfo object returns the values that apply to the font that will actually be used to draw the text.

关于linux - 相同的 QFont 配置导致嵌入式 Linux 和 Linux Ubuntu 之间的字体不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33347015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com