#python #pyside6 #qchart
Вопрос:
Когда я добавляю дату, время и значение в lineseries, произошла ошибка (python int слишком велик для преобразования в C long), размер toMsecsSinceEpoch() не превышает sys.maximun, lineseries не может добавить значение toMsecsSinceEpoch ().
from PySide6.QtCharts import QChart, QLineSeries, QDateTimeAxis, QValueAxis, QChartView
from PySide6.QtCore import QDateTime, Qt
from PySide6.QtWidgets import QApplication
import sys
import numpy as np
class Chart(QChartView):
def __init__(self):
super().__init__()
self.setFixedSize(500, 500)
self.chart = QChart()
self.setChart(self.chart)
self.series = QLineSeries()
self.axisX = QDateTimeAxis()
self.axisY = QValueAxis()
self.chart.addSeries(self.series)
self.chart.addAxis(self.axisX, Qt.AlignBottom)
self.chart.addAxis(self.axisY, Qt.AlignLeft)
self.series.attachAxis(self.axisX)
self.series.attachAxis(self.axisY)
self.drawGraph()
def drawGraph(self):
now = QDateTime.currentDateTime()
for i in range(10):
dttm = now.addSecs(i)
value = np.random.rand()
self.series.append(dttm.toMSecsSinceEpoch(), value) ## Error point
if __name__ == "__main__":
app = QApplication(sys.argv)
chart = Chart()
chart.show()
sys.exit(app.exec())
Комментарии:
1. 1) в чем ошибка сообщения?, какова ваша версия python и pyside6? 2) Я не видел никаких сообщений об ошибках, но я не могу видеть график, потому что диапазон QDateTimeAxis неверен. Добавьте
self.axisX.setRange(QDateTime.currentDateTime(), QDateTime.currentDateTime().addSecs(10))
раньшеself.drawGraph()
.2. сообщение об ошибке заключается в том, что python слишком велик для преобразования в C long. при преобразовании toMsecsepoch никаких ошибок не возникало, но при использовании команды добавления серии произошла ошибка
3. Я не хочу, чтобы вы перефразировали сообщение об ошибке, поместите полное сообщение об ошибке. Это сообщение от редактора? Не могли бы вы сделать снимок экрана с этой ошибкой?
4. Вы используете 32-разрядный или 64-разрядный python? Вы должны использовать второе.