Qt字体在不同系统上大小不同。

5
使用Qt Designer创建ui文件时,遇到以下问题: 在不同的Linux系统上打开相同的ui文件会导致字体大小显示不同。因此,在另一个系统上使用Qt Designer打开创建在一个系统上的ui文件时,可能会出现字体过大的情况,这样很多时候文本就无法阅读。小部件的“点大小”在两个系统上是相同的,但为了使其在两个系统上都可读,我目前必须在Qt Designer中手动减小一台系统上的点大小。 我该怎么做才能确保所有系统上的字体可读性? 使用的系统是SLES 10、SLES11和Debian。

你在Qt Designer中对控件设置了自定义字体设置,还是使用默认字体? - Pavel Strakhov
3个回答

5

我遇到过类似的问题。在我们的情况下,这与本地Linux字体设置有关。由于我们不能强制全世界的计算机都使用相同的字体,所以我们在应用程序中覆盖了字体。

QFont _Font("Tahoma", 8);
QApplication::setFont(_Font);

在创建主窗口之前,您应该这样做。
我知道的唯一风险是,如果您选择的字体在计算机上未安装,则会返回默认字体。
希望这可以帮助您。

1
使用void QFont::setPixelSize(int pixelSize)代替::setPointSize。
使用此函数会使字体依赖于设备。使用setPointSize()或setPointSizeF()以设备无关的方式设置字体大小。

0
我从Windows8迁移到了Windows8,但字体大小不匹配。 我尝试通过main.cpp强制更改它。
QFont _Font("Tahoma", 8);
_Font.setPixelSize(8);
QApplication::setFont(_Font);

它确实改变了一些项目,但有些没有。我尝试检查类配置,但没有找到任何有用的信息。


这将更改应用程序的“默认”字体。如果有任何地方您明确更改字体,则不会覆盖它。 - Liz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接