Qt SVG 렌더러를 사용하여 스타일 파이 갈 차트를 렌더링하려고합니다. 그러나 검은 색이기 때문에 배경색에 문제가 있습니다. pygal 도표의 작풍에 의해 그것이 통제되면 안된다? 그것은 http://www.pygal.org/en/stable/documentation/builtin_styles.html#darkstyleQt에서 svg 렌더링 (파이 갈 차트 사용)
import sys
import pygal
from PySide import QtGui, QtSvg
class Chart(QtGui.QWidget):
def __init__(self, parent=None):
super(Chart, self).__init__(parent)
chart = pygal.StackedLine(fill=True, interpolate='cubic',
style=pygal.style.DefaultStyle)
# or e.g. DarkSolarizedStyle
chart.add('A', [1, 3, 5, 16, 13, 3, 7])
chart.add('B', [5, 2, 3, 2, 5, 7, 17])
chart.add('C', [6, 10, 9, 7, 3, 1, 0])
chart.add('D', [2, 3, 5, 9, 12, 9, 5])
chart.add('E', [7, 4, 2, 1, 2, 10, 0])
svgSource = chart.render()
self.renderer = QtSvg.QSvgRenderer()
self.renderer.load(svgSource)
def paintEvent(self, event):
if self.renderer is not None:
painter = QtGui.QPainter(self)
self.renderer.render(painter)
return True
return super(Chart, self).paintEvent(event)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = Chart()
window.show()
result = app.exec_()
sys.exit(result)
UPDATE의 첫 번째 차트과 같아야합니다 : 직접 QSvgWidget를 사용하는 경우도 PyQt5, PyQt4, Pyside 등을 사용할 때이 같은 문제를 얻을. SVG에서 참조 된 CSS 파일을로드하지 못해서 작동하지 않는다는 것이 나의 의구심입니다. 또는 Does QT support svg?에 언급 된 Qt에서 지원하는 SVG 사양의 일부 제한된 범위 일 수 있습니다.