Qt QML FontLoader.name混淆

Qt QML FontLoader.name混淆,qt,fonts,qml,loader,Qt,Fonts,Qml,Loader,我从Google Fonts下载了项目文件夹中的两个.ttf文件: 蒙特塞拉特-ExtraLight.ttf 蒙特塞拉特-布莱克 我适当地设置了.qrc文件,以便包含这两个文件 假设我有下一个.qml文件: import QtQuick 2.7 import QtQuick.Layouts 1.2 import QtQuick.Controls.Universal 2.0 Rectangle{ id: rectangle height: 500

我从Google Fonts下载了项目文件夹中的两个.ttf文件:

  • 蒙特塞拉特-ExtraLight.ttf
  • 蒙特塞拉特-布莱克
  • 我适当地设置了.qrc文件,以便包含这两个文件

    假设我有下一个.qml文件:

    import QtQuick 2.7
    import QtQuick.Layouts 1.2
    import QtQuick.Controls.Universal 2.0
    
    Rectangle{
            id: rectangle
            height: 500
            width: 700
              Column{
                  FontLoader { id: myCustomFont1; source: "../Fonts/Montserrat/Montserrat-ExtraLight.ttf" }
                  FontLoader { id: myCustomFont2; source: "../Fonts/Montserrat/Montserrat-Black.ttf" }
                  Text{
                      ...
                      text: "Qt for python"
                      font.family: myCustomFont1.name
                      ...
                  }
                  Text{
                      ...
                      text: "Qt for c++"
                      font.family: myCustomFont2.name
                      ...
                  }
              }
            
    }
    
    问题是
    myCustomFont1.name
    myCustomFont2.name
    是相同的,即“蒙特塞拉特”,我没有任何解决方案来区分它们。 因此,即使我指定了正确的FontLoader-s id-s,第二个文本也将具有与第一个文本相同的font.family。
    是否有可能以某种方式解决此问题?

    这不是一个理想的解决方案,但应该是一个可行的解决方案。有一个名为的开源字体编辑器,可以用来更改Qt读取的名称。打开有问题的字体文件,然后打开菜单
    Element->font-Info
    。这将打开一个对话框,左侧有多个选项卡。第一个选项卡应该是
    PS name
    。这应该列出几个字段,包括
    Fontname
    Family Name
    。你应该能够编辑那些你想要的。然后关闭该对话框,并使用
    文件->生成字体
    重新生成.ttf文件。

    这不是一个理想的解决方案,但应该是一个可行的解决方案。有一个名为的开源字体编辑器,可以用来更改Qt读取的名称。打开有问题的字体文件,然后打开菜单
    Element->font-Info
    。这将打开一个对话框,左侧有多个选项卡。第一个选项卡应该是
    PS name
    。这应该列出几个字段,包括
    Fontname
    Family Name
    。你应该能够编辑那些你想要的。然后关闭该对话框并使用
    File->Generate font
    重新生成.ttf文件。

    设置
    font.weight
    是否对您有效?对于此特定字体,设置
    font.weight
    是否对您有效?对于此特定字体,是否没有任何效果?对于此应用程序,请使用thx。我在我的Mac上安装了它,并按照您的指示更改了这些字段。但是现在FontLoader名称是完全空白的。没有名字…不知道为什么会这样。我做的时候没遇到过这个问题,太好了。希望它能起作用,直到你找到更好的解决方案。在我玩了新的FontForge应用程序之后,我意识到应该在哪里进行修改:应该像你说的那样导航,比如:
    File->Element->Font-Info
    ,在
    PS-Names
    中不应该碰任何东西,而是应该进入
    TTF-Names
    中特定表格如果存在行首选族,应根据需要修改名称。如果没有,则应创建一个名为这样的新行,并在其中填充所需的新字体名称。再次感谢。考虑到你的答案足够好,我将结束这个问题。好吧,这个应用程序的thx。我在我的Mac上安装了它,并按照您的指示更改了这些字段。但是现在FontLoader名称是完全空白的。没有名字…不知道为什么会这样。我做的时候没遇到过这个问题,太好了。希望它能起作用,直到你找到更好的解决方案。在我玩了新的FontForge应用程序之后,我意识到应该在哪里进行修改:应该像你说的那样导航,比如:
    File->Element->Font-Info
    ,在
    PS-Names
    中不应该碰任何东西,而是应该进入
    TTF-Names
    中特定表格如果存在行首选族,应根据需要修改名称。如果没有,则应创建一个名为这样的新行,并在其中填充所需的新字体名称。再次感谢。考虑到你的回答足够好,我将结束这个问题。