QT-диаграмма Анимация

Я успешно перенес код qtchart из C++ с помощью python. Я также использую анимацию диаграммы, используяself.chart.setAnimationOptions(QChart.SeriesAnimations) но когда кнопка нажата не так, как я ожидал. Я хочу анимировать вот так https://mdbootstrap.com/snippets/jquery/marta-szymanska/853286 при нажатии кнопки. есть ли другое решение для этого. ура here is my snippet code

    self.chart = QChart()
    self.chart.setTheme(QChart.ChartThemeDark)
    self.chart.legend().hide()
    self.chart.setTitle("Simple areachart example")
    self.create_default_chart()
    self.chartView = QChartView(self.chart)
    self.chartView.setRenderHint(QPainter.Antialiasing)
    self.chartView.repaint()
    self.chartView.update()
    self.btn1 = QPushButton("Actual")
    self.btn1.setCursor(cursor)
    self.btn1.setSizePolicy(sizePolicy)
    self.btn2 = QPushButton("Predicted")
    self.btn2.setCursor(cursor)
    self.btn2.setSizePolicy(sizePolicy)
    self.btn1.clicked.connect(self.onClicked)
    self.btn2.clicked.connect(self.onClicked1)
    self.verticalLayout.addWidget(self.btn1)
    self.verticalLayout.addWidget(self.btn2)
    self.verticalLayout.addWidget(self.chartView)
    self.show()

def create_default_chart(self):
    series0 =  QLineSeries()
    for i in range(len(x2)):
        series0.append(i,x2[i])
    pen = QPen(QColor.fromRgb(29, 140, 248, 0))
    pen.setWidth(0)
    series0.setPen(pen)

    ''' here is stack animate code '''
    self.chart.setAnimationOptions(QChart.SeriesAnimations)
    #self.chart.setAnimationOptions(QChart.AllAnimations)
    #self.chart.setAnimationOptions(QChart.GridAxisAnimations)
    self.chart.addSeries(series0)
    self.chart.createDefaultAxes()

def onClicked(self,event):
    #updating data series
    self.chart.removeAllSeries()
    series0 =  QLineSeries()
    for i in range(len(x)):
        series0.append(i,x[i])
    pen = QPen(QColor.fromRgb(29, 140, 248, 0))
    pen.setWidth(0)
    series0.setPen(pen)
    self.chart.addSeries(series0)
    self.chartView.update()

0 ответов

Другие вопросы по тегам