2015-01-13 10 views
5

मैं PyQt4 में एक QWidget के रूप में एक vispy साजिश (अधिक विशेष रूप से, एक Vispy दृश्य Kanvas) एम्बेड करने की कोशिश कर रहा हूँ। मुझे लगता है इस सवाल का जवाब कुछ इस तरह होगा होगा:PyQt में vispy ग्राफ को कैसे एम्बेड करें?

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 ऑब्जेक्ट के रूप में या उसके गुणों में से एक का इलाज करना संभव होना चाहिए। जब तक vispy अपने बैकएंड के रूप में क्यूटी उपयोग कर रहा है, तो Canvas.native अंतर्निहित QGLWidget को संदर्भित करता है

win.setCentralWidget(vispyCanvas.native) 

:

उत्तर