2015-01-13 19 views
5

PyQt4'e bir QWidget olarak bir vispy çizimini (daha özel olarak bir Vispy SceneCanvas) yerleştirmeye çalışıyorum. Bu son satırı çalıştığınızdaPyQt'de vispy grafiği nasıl yerleştirilir?

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) 

Ancak, bana vispyCanvas SceneCanvas yazıp değil tip QWidget ait olduğunu beklenen hata veriyor: Cevabın böyle bir şey olacağını tahmin ediyorum. Ben print(vispyCanvas), <Vispy canvas (PyQt4 (qt) backend) at 0x142bcb00L> yazdırır, bu nedenle veya bir QWidget nesnesi olarak özelliklerinden biri veya bunu tedavi etmek mümkün olması gerektiğinden şüpheleniyorum.

cevap

9

Cevap basit:

win.setCentralWidget(vispyCanvas.native) 

sürece, daha sonra Canvas.native temel QGLWidget belirtir vispy onun arka uç Qt kullanıyor olarak.

İlgili konular