我有一个基于Qt(PyQt)的GUI应用程序在Mac OS X(和其他平台)上运行 . 它允许用户选择字体并具有粗体和斜体选项的复选框 .
在更新到新的基于Cocoa的Qt时,用户发现 QFontComboBox
不再显示不同的字体样式(例如浓缩,倾斜,粗体......),只显示字体系列名称 . 在Carbon下,它显示了两者 . 用户也无法在组合框中输入带有样式的名称 . 此外,我无法构造将名称传递给 QFont
构造函数的相同字体 .
QFont
似乎对这些缺少的样式一无所知 . 令人困惑的是它有另一种不同的风格概念 . 看起来 QFontDatabase
有关于样式变体的信息 . 它还可以根据族,样式和磅值构造字体 .
那么,以下是否改变了正确的方法?
-
而不是使用粗体和斜体按钮,在
QFontComboBox
中选择的字体中有一个填充了QFontDatabase
样式的组合框 . -
将样式存储在已保存的文档中(如文本),而不是粗体或斜体 .
所以
-
我可以依赖不同语言系统上的风格吗?我可以将其包含在保存的文件中吗?
-
样式"Bold Italic"是一种强大的方法,可以使
QFont
具有所需的属性,而不是设置QFont
的粗体和斜体属性? -
如果我想保留粗体和斜体复选框,我该如何将这些属性转换为正确的样式?我能猜出“Bold”,“Italic”还是“Bold Italic”?