2015-01-13 4 views
5

私はPyQt4にQWidgetとしてVispyのプロット(より具体的には、Vispy SceneCanvas)を埋め込もうとしています。私はこの最後の行をしようとすると、VisQグラフをPyQtに埋め込む方法は?

from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
import vispy.mpl_plot as plt 

app = QApplication(sys.argv) 
win = QMainWindow() 
plt.plot([1,2,3,4], [1,4,9,16]) 
vispyCanvas=plt.show()[0] 
win.setCentralWidget(vispyCanvas) 

しかし、私にvispyCanvasがSceneCanvasを入力しないタイプQWidgetであることを予想されるエラーを与える:私は答えはこのようなものになるだろうと推測します。私がprint(vispyCanvas)になると、<Vispy canvas (PyQt4 (qt) backend) at 0x142bcb00L>が出力されます。そのため、QWidgetオブジェクトとして扱うか、その属性の1つを扱うことができるはずです。

答えて

9

答えは簡単である:

win.setCentralWidget(vispyCanvas.native) 

限りvispyは、そのバックエンドとしてのQtを使用しているように、その後Canvas.nativeは、基礎となるQGLWidgetを指します。