J'ai donc un diagramme qui change dynamiquement. Je veux montrer la valeur de chaque tranche lorsque la souris survole la tranche, mais je ne suis pas sûr de savoir comment créer l'info-bulle quand onHovered est déclenché. J'utiliseQML Créer des infobulles dynamiquement
qt 5.9.1 & QtQuick.Controls importation 2.2
MISE À JOUR: J'ai ajouté du code pour expliquer comment je crée les tranches. Voici le code:
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);
}
}
Je peux voir la console.log mais je ne suis pas en mesure de voir l'info-bulle, et la sortie de l'application ne montre aucune erreur, mais infobulle n'est pas déclenchée
Où est 'tranche' défini? – sk2212
dynamiquement dans une fonction: function createPieChart (data) { pieserieschart.clear(); pour (var prop dans les données) { var new_slice = pieserieschart.append (prop, data [prop]); nouveau_slice.tooltip = prop + ":" + données [prop] } – laurapons
J'ai essayé de déclarer new_slice.tooltip, et surHovered, je peux lire slice.tooltip, mais il n'est pas affiché – laurapons