我可以在 QML 中控制委托到 PathView 的附加点吗?

尼古拉·普罗科申科

我试图PathView在 QtQuick 中围绕s 。我可以毫不费力地创建一个PathView合适的委托,以便这些委托“沿着路径”呈现。但是,我找不到“沿着”意味着什么的任何定义,即代表如何附加到路径上。考虑以下示例,其中路径穿过页面的垂直中心:

import QtQuick 2.8
import QtQuick.Controls 2.1

ApplicationWindow {

    visible: true
    id: app
    width: 1280
    height: 720
    color: "#330000"

    PathView {
        id: pathView
        anchors.fill: parent
        model: 6

        delegate: Rectangle {
            id: item
            height: app.height * 0.5
            width: app.width * 0.25

            border.width: 5
            border.color: "#2f2f2f"
            color: "#d2d2d2"

            scale: PathView.itemscale
            z: PathView.z
        }

        interactive: true

        pathItemCount: 5
        preferredHighlightEnd: 0.5
        preferredHighlightBegin: 0.5

        path: Path {        
            startX: 0
            startY: app.height * 0.5

            PathAttribute { name: "z"; value: 0 }
            PathAttribute { name: "itemscale"; value: 0.5 }

            PathLine {
                x: app.width * 0.5
                y: app.height * 0.5
            }

            PathAttribute { name: "z"; value: 100 }
            PathAttribute { name: "itemscale"; value: 1 }

            PathLine {
                x: app.width
                y: app.height * 0.5
            }

            PathAttribute { name: "z"; value: 0 }
            PathAttribute { name: "itemscale"; value: 0.5 }
        }
    }
}

此代码生成此渲染: 渲染

路径上的项目显然是依附在它们的垂直中心上的,没有明确说明是否也涉及到水平中心。

现在我想将项目放在路径的顶部,即矩形应该底部对齐,它们的底部边框位于屏幕的中心。换句话说,我想通过底部锚点而不是中心来连接它们。

Qt 文档在那里没有太大帮助。我可以在没有恶意黑客攻击的情况下完成此操作吗?如果可以,我该怎么做?

埃利亚内斯克

您的情况下的问题是由比例引起的,如果我们评论该行,我们会得到以下信息:

在此处输入图片说明

并且观察到它是对齐的。Scale 使用一个名为的参考点,transformOrigin默认Item.Center情况下它是项目的 ,在您的情况下它应该是Item.Bottom

进行以下更改:

delegate: Rectangle {
    id: item
    height: app.height * 0.5
    width: app.width * 0.25
    y:0

    border.width: 5
    border.color: "#2f2f2f"
    color: "#d2d2d2"

    scale: PathView.itemscale
    transformOrigin: Item.Bottom // +++
    z: PathView.z
}

得到:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QML PathView中的SetRootIndex

来自分类Dev

QML PathView中的SetRootIndex

来自分类Dev

QML PathView:通过鼠标滚轮更改pathview的当前索引

来自分类Dev

我可以在ListProxy中附加EventProxy吗?

来自分类Dev

QML:我可以从矩形的中心而不是从角落绘制矩形吗?

来自分类Dev

您可以在QML声明代码中捕获错误吗?

来自分类Dev

javascript可以触发对qml中组件的点击吗?

来自分类Dev

我可以推断委托中的属性类型吗?

来自分类Dev

我可以在 Ubuntu 中控制我的键盘背光吗?

来自分类Dev

我可以使用std :: bind将状态“附加”到函数吗?

来自分类Dev

我可以将文件附加/嵌入到Latex文档中,然后将其超链接到单词以进行保存吗?

来自分类Dev

我们可以将DH参数附加到Apache 2.2.29中的证书文件中吗?

来自分类Dev

我可以控制htmlTable中的自动换行或列宽吗?

来自分类Dev

我可以在R中控制鼠标光标吗?

来自分类Dev

我可以控制htmlTable中的自动换行或列宽吗?

来自分类Dev

我可以控制XAML中的点击事件触发顺序吗?

来自分类Dev

我可以在 JVM 选项中控制异常吗?

来自分类Dev

我可以将HTML文件附加到Google脚本中的变量吗?

来自分类Dev

我可以在一个HttpServletResponse中附加多个附件吗

来自分类Dev

log4net配置:我可以在多个附加程序中引用相同的布局吗?

来自分类Dev

我可以将HTML文件附加到Google脚本中的变量吗?

来自分类Dev

log4net配置:我可以在多个附加程序中引用相同的布局吗?

来自分类Dev

我可以通过附加组件在Firefox中添加自己的根目录书签组吗?

来自分类Dev

我可以在先前附加的通话结果中嵌套对Ajax通话的点击吗?

来自分类Dev

我可以将用户名附加到Hockey App的崩溃报告中吗?

来自分类Dev

我可以在 xargs 已经运行时将行附加到输入文件中吗?

来自分类Dev

在QML中重用委托组件

来自分类Dev

在QML中重用委托组件

来自分类Dev

我可以控制行为的创建吗?

Related 相关文章

  1. 1

    QML PathView中的SetRootIndex

  2. 2

    QML PathView中的SetRootIndex

  3. 3

    QML PathView:通过鼠标滚轮更改pathview的当前索引

  4. 4

    我可以在ListProxy中附加EventProxy吗?

  5. 5

    QML:我可以从矩形的中心而不是从角落绘制矩形吗?

  6. 6

    您可以在QML声明代码中捕获错误吗?

  7. 7

    javascript可以触发对qml中组件的点击吗?

  8. 8

    我可以推断委托中的属性类型吗?

  9. 9

    我可以在 Ubuntu 中控制我的键盘背光吗?

  10. 10

    我可以使用std :: bind将状态“附加”到函数吗?

  11. 11

    我可以将文件附加/嵌入到Latex文档中,然后将其超链接到单词以进行保存吗?

  12. 12

    我们可以将DH参数附加到Apache 2.2.29中的证书文件中吗?

  13. 13

    我可以控制htmlTable中的自动换行或列宽吗?

  14. 14

    我可以在R中控制鼠标光标吗?

  15. 15

    我可以控制htmlTable中的自动换行或列宽吗?

  16. 16

    我可以控制XAML中的点击事件触发顺序吗?

  17. 17

    我可以在 JVM 选项中控制异常吗?

  18. 18

    我可以将HTML文件附加到Google脚本中的变量吗?

  19. 19

    我可以在一个HttpServletResponse中附加多个附件吗

  20. 20

    log4net配置:我可以在多个附加程序中引用相同的布局吗?

  21. 21

    我可以将HTML文件附加到Google脚本中的变量吗?

  22. 22

    log4net配置:我可以在多个附加程序中引用相同的布局吗?

  23. 23

    我可以通过附加组件在Firefox中添加自己的根目录书签组吗?

  24. 24

    我可以在先前附加的通话结果中嵌套对Ajax通话的点击吗?

  25. 25

    我可以将用户名附加到Hockey App的崩溃报告中吗?

  26. 26

    我可以在 xargs 已经运行时将行附加到输入文件中吗?

  27. 27

    在QML中重用委托组件

  28. 28

    在QML中重用委托组件

  29. 29

    我可以控制行为的创建吗?

热门标签

归档