组件内的项目访问

发布于 2024-12-09 08:32:59 字数 803 浏览 0 评论 0原文

我有以下 qml 文件:

import QtQuick 1.0
Component{

    Column{
        id: interHeader;

        Item{
         id:interItem
         height: 300
         width: 200

             Text{
                 id:title
                 text:"Text"
                 anchors.centerIn: parent
                 font.bold: true
                 elide:"ElideRight"
                 color: "Black"
             }
         }

        Item {
            width: parent.width
            height: 100

            //onClick event
            MouseArea {
                anchors.fill: parent

                onClicked:{
                        console.log("Ok");
                }
            }
        }
     }
}

问题是我需要将一些 KeyNavigation 分配给 interItem。 我想从另一个 qml 文件访问 interItem。 这怎么能做到呢?

I have the following qml file:

import QtQuick 1.0
Component{

    Column{
        id: interHeader;

        Item{
         id:interItem
         height: 300
         width: 200

             Text{
                 id:title
                 text:"Text"
                 anchors.centerIn: parent
                 font.bold: true
                 elide:"ElideRight"
                 color: "Black"
             }
         }

        Item {
            width: parent.width
            height: 100

            //onClick event
            MouseArea {
                anchors.fill: parent

                onClicked:{
                        console.log("Ok");
                }
            }
        }
     }
}

The problem is that I need to assign some KeyNavigation to the interItem.
I want to access the interItem from another qml file.
How can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木森分化 2024-12-16 08:32:59

在完全独立的 QML 文件中使用 Component 确实没有任何好处。删除组件并使用大写字母命名您的 Qml 文件 - 例如 InterHeader

然后在根项下定义一个 property 。例如:

import QtQuick 1.0
Item {
id: interHeader
property variant keyActionUp
Keys.onUpPressed: keyActionUp
}

或者

您可以使用 Connections 函数对来自 interHeader 的信号执行回调。

http://doc.qt.nokia.com/4.7-snapshot/qml -connections.html

There really is no benefit of using Component in a completely separate QML file. Remove Component and name your Qml file with a capital letter - e.g. InterHeader

Then define a property under your root item. For example:

import QtQuick 1.0
Item {
id: interHeader
property variant keyActionUp
Keys.onUpPressed: keyActionUp
}

OR

You can use the Connections function to execute callbacks for signals from interHeader.

http://doc.qt.nokia.com/4.7-snapshot/qml-connections.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文