Ich bin mir nicht sicher, ob es ein Fehler ist, aber ich kann kein funktionierendes Beispiel finden.
Code: Select all
import sys
from PySide6.QtCharts import *
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
app = QApplication(sys.argv)
# Create a series with 3 points
series = QLineSeries()
series.append(0, 1)
point=QPointF(1, 3)
series.append(point) # Middle point
series.append(2, 2)
# Create a chart and add the series to it
chart = QChart()#
axis_x = QValueAxis()
axis_y = QValueAxis()
chart.addAxis(axis_x, Qt.AlignBottom)
chart.addAxis(axis_y, Qt.AlignLeft)
chart.addSeries(series)
series.attachAxis(axis_x)
series.attachAxis(axis_y)
# chart.createDefaultAxes()
# Add text to the middle point using QGraphicsTextItem
position_in_chart = series.chart().mapToPosition(point, series)
text_item = QGraphicsTextItem("thing")
text_item.setPos(position_in_chart)
# Add extra info next to the legend
legend = chart.legend()
marker = legend.markers(series)[0]
marker.setLabel("Extra Info: PLACEHOLDER")
# Create a chart view and set it as the central widget
chartView = QChartView(chart)
chartView.setRenderHint(QPainter.Antialiasing)
# chart.scene().addItem(text_item)
chartView.scene().addItem(text_item)
window = QMainWindow()
window.setCentralWidget(chartView)
window.resize(400, 300)
window.show()
sys.exit(app.exec())