【问题标题】:Qt fonts have different sizes on different systemsQt字体在不同系统上有不同的大小
【发布时间】:2013-06-23 14:29:09
【问题描述】:

使用Qt Designer创建ui-files,出现以下问题:

在不同的 Linux 系统上打开相同的 ui 文件会导致显示不同的字体大小。因此,在另一个系统上使用 Qt Designer 打开时,在一个系统上创建的 ui 文件可能具有太大的字体。这使得文本在许多情况下不可读。小部件的“点大小”在两个系统上是相同的,但为了使其在两个系统上都可读,我目前必须在一个系统上手动减小 Qt Designer 中的点大小。 如何确保字体在所有系统上的可读性?

使用的系统是 SLES 10、SLES11、Debian。

【问题讨论】:

  • 您是在 Qt Designer 中为小部件设置自定义字体设置还是使用默认字体?

标签: linux qt fonts font-size


【解决方案1】:

我也遇到过类似的问题。在我们的例子中,它与本地 Linux 字体设置有关。由于我们不能强制世界上所有的计算机都使用相同的字体,因此我们在应用程序中覆盖了该字体。

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

您应该在创建主窗口之前执行此操作。

我知道的唯一风险是,如果你选择的字体没有安装在计算机上,我相信它会回到默认状态。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    使用 void QFont::setPixelSize(int pixelSize) 代替 ::setPointSize。

    使用此函数使字体设备依赖。使用 setPointSize() 或 setPointSizeF() 以与设备无关的方式设置字体大小。

    【讨论】:

      【解决方案3】:

      我从 Windows8 迁移到 Windows8,字体大小不匹配。 我试图通过 main.cpp 使用

      强制它
      QFont _Font("Tahoma", 8);
      _Font.setPixelSize(8);
      QApplication::setFont(_Font);
      

      它确实改变了一些项目,但有些没有。我试图检查类配置,但没有发现任何有用的想法。

      【讨论】:

      • 这将更改您的应用程序的“默认”字体。如果有任何地方您明确更改了字体,这不会覆盖它。
      猜你喜欢
      • 1970-01-01
      • 2011-04-03
      • 2013-07-20
      • 2014-01-29
      • 2012-06-16
      • 1970-01-01
      • 2015-10-29
      • 2014-05-05
      • 1970-01-01
      相关资源
      最近更新 更多