ReportPicture.qml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import QtQuick 2.11
  2. Rectangle {
  3. id:root
  4. z:-1
  5. width:900
  6. height:460
  7. color: "white"
  8. visible: false
  9. property string fileName
  10. property int delayms:300
  11. property real m_maxY: 0.0
  12. property real m_minY: 0.0
  13. // property var pointList:[]
  14. function generatePicture(filename, dataArray){
  15. var current_step = 0
  16. for(var i=0; i<dataArray.length;i++){
  17. m_maxY = (m_maxY < dataArray[i].pressure)? dataArray[i].pressure:m_maxY
  18. m_minY = (m_minY > dataArray[i].pressure)? dataArray[i].pressure:m_minY
  19. //console.log("dataArray ",i,dataArray[i])
  20. }
  21. curveDisplay_pic.spline.clear()
  22. m_minY = (m_minY-2) < 0? 0:(m_minY-2)
  23. m_maxY = m_maxY+2
  24. curveDisplay_pic.setRange_Y(m_minY, m_maxY)
  25. curveDisplay_pic.setRange_X(0, dataArray.length-1)
  26. for(var j=0; j<dataArray.length; j++){
  27. //curveDisplay.charView.series(j).replace(j,dataArray[j])
  28. curveDisplay_pic.spline.append(j,dataArray[j].pressure)
  29. if(current_step !== dataArray[j].step){
  30. current_step = dataArray[j].step
  31. if(current_step < 5 & current_step > 0){
  32. curveDisplay_pic.scatter_add(j, dataArray[j].pressure)
  33. }
  34. }
  35. }
  36. //dataSource.update(curveDisplay.charView.series(0),root.pointList)
  37. root.fileName = "D:/tmp/"+filename +".jpg"
  38. timer.start()
  39. }
  40. Timer{
  41. id:timer
  42. repeat: false
  43. interval: delayms
  44. onTriggered: {
  45. root.grabToImage(function(result) {
  46. result.saveToFile(root.fileName);
  47. });
  48. }
  49. }
  50. CurveDisplay{
  51. id:curveDisplay_pic
  52. anchors.fill: parent
  53. name: "横轴时间(秒) 纵轴压力(kPa)"
  54. }
  55. }