QML ValueAxis 找不到更改标签颜色的方法



在 ValueAxis 文档中,我似乎找不到更改标题颜色的属性,默认情况下是黑色的。我想把它改成白色。

设置轴的标题时可以使用 html 格式。

titleText: "<font color='white'>YourTitle</font>"

事实证明,您可以直接在QML中将轴的titleBrush设置为颜色,即使它不在文档中。与其他答案不同,这允许我动态地执行此操作,颜色不一定是硬编码字符串这是我对 x 轴的操作方式:

DateTimeAxis
{
    id: timeAxis
    format: "hh:mm:ss"
    color: "white"
    labelsColor: color
    gridLineColor: color
    minorGridLineColor: color
    titleBrush: color
}

在C++中创建一个函数,您可以通过将其标记为Q_INVOKABLE来从 QML 调用该函数,如下所示:

在头文件中:

public:
    Q_INVOKABLE QBrush titleBrush() const;

在类文件中:

QBrush ChartStyler::titleBrush() const
{
    return QBrush(Qt::white);
}

然后你可以在你的 QML 中调用它:

import MyCoolProgram.ChartStyler 1.0
ChartStyler {
    id: chartStyler
    ...
    ValueAxis {
        titleText: "My X Axis"
        titleBrush: chartStyler.titleBrush()
    }
    ...
}

如果您还没有可以从 QML 访问的类,则需要注册ChartStyler(例如main.cpp

 qmlRegisterType<ChartStyler>("MyCoolProgram.ChartStyler", 1, 0, "ChartStyler");

相关内容

  • 没有找到相关文章

最新更新