Mac OSX 中的文本大小比使用 Qt 的 Windows 小。我想在任何地方都有相同的尺寸

Posted

技术标签:

【中文标题】Mac OSX 中的文本大小比使用 Qt 的 Windows 小。我想在任何地方都有相同的尺寸【英文标题】:Texts' size are smaller in Mac OSX than Windows with Qt. I would like to have the same size everywhere 【发布时间】:2017-04-17 19:15:46 【问题描述】:

我编写了一个 Qt 应用程序,它带有一个使用 Qt 样式表定制的 GUI。我在所有平台(Windows、Linux 和 Mac)上都使用了 Windows 的样式,但在 Mac OSX 中文本的大小更小。我认为dpi不同,但我不确定。而且我希望在 Qt / Windows 中到处都有相同的文本大小。你知道怎么做吗?在 C++ 中还是在 Qt 样式表中?

【问题讨论】:

【参考方案1】:

如果你曾经在 C++ 代码中使用过字体,你会想到这一点:

Font font(..., int size, ...) 
    // define font offset based on operating system
#ifdef _WIN32
#define OFFSET 0
#elif __APPLE__
#define OFFSET 2
#endif
    return Font(..., size + OFFSET, ...); 
    // function will return a font that is 2 pts larger on Mac than on Windows

这是伪代码;尝试使用 Qt 字体对象而不是我假设的 Font 类和构造函数。然后,不用调用 Qt 字体构造函数,你可以使用这个函数来创建一个 Qt 字体对象。

或者,如果您正在更改按钮的字体大小,例如:

#ifdef _WIN32
#define OFFSET 0
#elif __APPLE__
#define OFFSET 2
#endif
QFont font = ui->pushButton->font();
font.setPointSize(16 + OFFSET);
ui->pushButton->setFont(font);

【讨论】:

这段代码放在哪里?我的应用程序中的所有内容都在 Qt 样式表中 我在帖子中做了一个补充,展示了如何手动设置按钮的字体(例如)。 我在***上找到了解决方案。我可以更改 qt 样式表中的“font-size”属性

以上是关于Mac OSX 中的文本大小比使用 Qt 的 Windows 小。我想在任何地方都有相同的尺寸的主要内容,如果未能解决你的问题,请参考以下文章

在 mac osx 上的 Qt 4.7 中使用光栅图形会导致内存泄漏?

在 Mac OSX 上安装 Qt 的调试版本

通过 Qt (mac - OSX) 的 AWS 查询没有得到任何结果

在 Mac OSX 下使用 Qt 在 Eclipse CDT 中进行交叉编译

Mac OSX 10.9 上的 Qt 部署

在 Mac OSX 上重定位后修补 Qt 二进制文件的脚本