0
私はbeginerと私は私のQMLでcanvas.requestPaint()を呼び出す方法を得ていないのですが、コードは以下の通りです:QML - canvas.requestPaintすることができません()関数から
//myTab.qml私はonCurrentIndexChanged
に使用しようとすると
TabView {
id: tv
width: parent.width
height: parent.height
antialiasing: true
style: TabViewStyle {
frameOverlap: -1
tab: Rectangle {
color: "Transparent"
implicitWidth: text1.width + 50
implicitHeight: 20
radius: 2
smooth: true
Canvas {
id: canvas1
anchors.fill: parent
width: parent.width
height: parent.height
onPaint: {
styleData.selected ? drawTab(canvas1,"#0C3142") :
drawTab(canvas1,"Transparent") //Some custom JS function to draw a object
}
Text {
id: text1
height: parent.height
verticalAlignment: Text.AlignVCenter
anchors.left : parent.left
anchors.leftMargin: 15
text: styleData.title
color: "white"
}
}
}
frame: Rectangle {
width: parent.width
height: parent.height
color: "Transparent"
border.color:"white"
}
tabBar: Rectangle {
color: "Transparent"
anchors.fill: parent
}
}
Tab {
id: tab1
title: "Tab1"
}
Tab{
id: tab2
title: "Tab2"
}
onCurrentIndexChanged: {
console.log("index changed "+currentIndex)
canvas1.repaint() //ERRROR - not defind canvas1
}
}
、私は次のエラーを取得しています:提案
ReferenceError: canvas1 is not defined.
してください。
を私は(信号リフレッシュを添加)以降製Canvasで接続していますが、QML接続があります:存在しないプロパティ "onRefresh"に割り当てることができません "というエラーです。 – pra7
これはまさに私が必要としているものです。私はtarget:canvas1を使用しました。それは仕事がなかった理由です...ありがとう@derM – pra7