[英]changing property of element from other qml file
我知道有很多類似的話題,我試圖從他們那里得到答案,但我仍然沒有結果。
我從qt創作者那里提取了一些示例項目來玩這個。 我玩的qml文件的可見性不斷變化(將每個文件視為其他屏幕)。 午餐了第三個屏幕后,我想使第二個屏幕不可見。 這是我要在其中更改屬性的代碼:
MyLuncherList.qml
import QtQuick 2.0
Rectangle {
Item
{
id:ei
visible:false
clip: true
property url itemUrl
onItemUrlChanged:
{
visible = (itemUrl== '' ? false : true);
}
anchors.fill: parent
anchors.bottomMargin: 40
Rectangle
{
id:bg
anchors.fill: parent
color: "white"
}
MouseArea
{
anchors.fill: parent
enabled: ei.visible
//takes mouse events
}
Loader
{
focus:true
source: ei.itemUrl
anchors.fill: parent
}
}
}
這是我要執行操作的代碼
View2.qml
import QtQuick 2.0
Rectangle {
width: 100
height: 62
Text
{
text: "second screen"
}
MyLuncherList
{
id:luncherList
}
Rectangle
{
x: 50
y: 30
width: 120
height: 60
color: "red"
MouseArea
{
anchors.fill: parent
id: mouseAreaWhichHides
onClicked:
{
luncherList.ei.itemUrl = '';
}
}
}
}
並且我得到了錯誤: qrc:///View2.qml:29: TypeError: Type error
,該qrc:///View2.qml:29: TypeError: Type error
指向這一行luncherList.ei.itemUrl = '';
類型錯誤表示我與類型有些不匹配,但是我什至不確定(如果我以正確的方式執行此訪問過程),所以我問如何更改屬性
ei.itemUrl
從
View2.qml
以工作方式。
ei元素不能直接在其他QML文件中使用。 您可以使用別名來做到這一點。
property alias callUrl: ei.itemUrl
並從其他QML文件中調用
luncherList.callUrl='file:///home/user/file.jpg'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.