私は動的に変化するpiechartを持っています。スライス上にマウスを置いたときに各スライスの値を表示したいのですが、onHoveredがトリガーされたときにツールチップを作成する方法がわかりません。私はスライスを作成方法を説明するためにいくつかのコードを追加しました:私はQML動的にツールチップを作成
QTに5.9.1 &輸入QtQuick.Controls
UPDATE 2.2を使用します。ここ はコードです:
function onUpdateValues(values){
switch(values.type){
case PIE_CHART:
createPieChart(values.data);
break;
...
default:
console.debug("CHART TYPE ERROR");
break;
}
}
}
function createPieChart(data){
pieserieschart.clear();
for (var prop in data) {
var new_slice = pieserieschart.append(prop, data[prop]);
new_slice.tooltip = prop + ": " + data[prop]
//I tried using hovered signal (and without), but it's not doing any difference
new_slice.hovered.connect(function(state) { new_slice.tooltip.visible = state })
//If I replace the above line by the next one, I can see the console.log info, but the tooltip is not enabled
new_slice.hovered.connect(function(state) { sliceHovered(new_slice, state) })
}
}
function sliceHovered(slice, value){
slice.enabled = true
console.log("Slice hovered: " + slice.tooltip + " " + value)
}
ChartView { /* Chart */
id:chartView
PieSeries {
id: pieserieschart;
size: 1;
holeSize: 0.55;
onClicked: sliceClicked(slice);
}
}
私はにconsole.logを見ることができますが、私は、ツールチップを見ることができないですし、アプリケーションの出力は、エラーが表示されませんが、ツールチップが
?関数内で動的に – sk2212
:関数createPieChart(データ){ pieserieschart.clear(); for(データ内の可変プロット){ var new_slice = pieserieschart.append(prop、data [prop]); new_slice.tooltip = prop + ":" + data [prop] } – laurapons
new_slice.tooltipを宣言しようとしましたが、onHoveredではslice.tooltipを読むことができますが、表示されません。 – laurapons