Qt例項分析——QML呼叫C++方法, C++呼叫QML
阿新 • • 發佈:2019-02-14
1、QML呼叫C++函式
C++中定義:
Q_INVOKABLE void clearChart();
<pre name="code" class="cpp">void PieChart::clearChart()
{
setColor(QColor(Qt::transparent));
update();
// emit chartCleared();
}
在QML中直接使用PieChart類例項呼叫函式即可呼叫:
MouseArea { anchors.fill: parent onClicked: aPieChart.clearChart() }
2、C++中傳送訊號,QML中接收執行
signals:
void chartCleared();
執行:
void PieChart::clearChart()
{
emit chartCleared();
}
QML接收執行
PieChart { id: aPieChart anchors.centerIn: parent width: 100; height: 100 color: "red" onChartCleared: console.log("The chart has been cleared") }
原始碼下載