Я пытаюсь изменить цвет объекта QCandlestickSet, но он не отображает никакого цвета. Я успешно изменил цвет и ширину «фитиля» в объекте QCandlestickSet, однако часть «тело свечи» не имеет цвета после того, как я щелкнул по свече на графике.
Ниже приведена ссылка программы python.
import sys
from PyQt5 import QtCore, QtGui, QtWidgets, QtChart
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtChart import *
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.data = ((20190111,15.28,15.54,15.22,15.26),(20190114,15.3,15.56,15.3,15.42),(20190115,15.7,15.98,15.4,15.4),(20190116,15.58,15.6,15.24,15.34))
self.chart = QChart()
self.series = QCandlestickSeries(clicked=self.onCandleClicked)
color = QColor()
color.setRgb(229,57, 53)
self.series.setDecreasingColor(color)
color.setRgb(76,175, 80)
self.series.setIncreasingColor(color)
self.series.setBodyOutlineVisible(False)
self.date_labels = []
self.resize(640, 480)
for num, o, h, l, c in self.data:
self.series.append(QCandlestickSet(o, h, l, c))
self.date_labels.append(str(num))
self.chart.addSeries(self.series)
self.chart.createDefaultAxes()
self.chart.legend().hide()
self.chart.axisX(self.series).setCategories(self.date_labels)
self.chartview = QChartView(self.chart)
self.chartview.setChart(self.chart)
central_widget = QtWidgets.QWidget()
lay = QtWidgets.QVBoxLayout(central_widget)
lay.addWidget(self.chartview)
self.setCentralWidget(central_widget)
self.show()
def onCandleClicked(self, value):
candleSet = value
color = QColor()
pen = QPen()
brush = QBrush()
color.setRgb(0,140,140)
pen.setColor(color)
pen.setWidth(3)
candleSet.setPen(pen)
brush.setColor(color) #I want to change the color of candle
candleSet.setBrush(brush)
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
Вывод программы
Вывод программы после нажатия на несколько свечей