【发布时间】:2018-02-08 02:58:47
【问题描述】:
我已经用 PyQtChart 画了一个图表,我想用鼠标移动一个系列。按右键选择一个系列,然后将其移动到目标位置,释放右键后将系列放到目标位置。
我可以在update_select_series 中获取选定的系列,如果我可以在按右键和目标坐标时获得原始坐标,那么我可以将系列移动到update_series 中的目标位置,但我不知道如何实现它。
import sys
from PyQt5.QtChart import QAreaSeries, QChart, QChartView, QLineSeries, QValueAxis, QCategoryAxis
from PyQt5.QtCore import QPointF, Qt, QTimer
from PyQt5.QtGui import QColor, QGradient, QLinearGradient, QPainter, QPen
from PyQt5.QtWidgets import QApplication, QMainWindow
app = QApplication(sys.argv)
series0 = QLineSeries()
series0 << QPointF(1, 15) << QPointF(3, 17) << QPointF(7, 16) << QPointF(9, 17) \
<< QPointF(12, 16) << QPointF(16, 17) << QPointF(18, 15)
chart = QChart()
chart.addSeries(series0)
chart.createDefaultAxes()
chartView = QChartView(chart)
def update_select_series():
print('update_select_series')
def update_series():
print('update_series')
series0.pressed.connect(update_select_series)
series0.released.connect(update_series)
window = QMainWindow()
window.setCentralWidget(chartView)
window.resize(400, 300)
window.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python pyqt coordinates mouse qchart