2013-07-22 4 views
0

Кто-нибудь знает, как применить pyqtgraph.mkPen() к элементу gridItem. В следующем примере перо работает для PlotCurveItem, но я не смог заставить его работать для сетки.Как применить pyqtgraph.mkPen() к GridItem?

import pyqtgraph as pg 
from pyqtgraph.Qt import QtCore, QtGui 
import numpy as np 

#sample data 
x = np.arange(0,1,0.1) 
y = [0,0,0,2,2,8,9,2,0,0] 


# mkPen for curve 
curvePen = pg.mkPen(color=(255, 15, 10), style=QtCore.Qt.DotLine) 

# plot the curve 
plt = pg.plot() 
curve = pg.PlotCurveItem(x,y[:-1],pen=curvePen,stepMode=True) 
plt.addItem(curve) 


# mkPen for grid 
gridPen = pg.mkPen(color=(200, 200, 255), style=QtCore.Qt.DotLine) 

# How do I apply this gridPen to the following grid 

# define grid 
plt_grid = pg.GridItem() 
plt.addItem(plt_grid) 

plt.show() 


if __name__ == '__main__': 
    import sys 
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'): 
     QtGui.QApplication.instance().exec_() 

Большое спасибо С уважением Майкл

ответ

0

GridItem не предоставляет никаких способов влияния на его цвет. Однако одна из приятных вещей о pyqtgraph заключается в том, что он является чистым-python и, следовательно, намного проще модифицировать себя. Посмотрите на pyqtgraph/graphicsItems/GridItem.py и найдите «pen». Было бы очень просто добавить метод GridItem.setPen() или просто изменить расцветку по умолчанию в сетке.

+0

Спасибо Люку, я буду изучать это, и если я его заработаю, я отправлю его здесь – Michael