我正在使用PyQt4運行一些代碼,並且我想繪製一個使用其數據的圖。但是,當我嘗試這樣做,它會報告無法同時運行matplotlib和pyqt4
QPixmap: Must construct a QGuiApplication before a QPixmap
下面是代碼:
from PyQt4 import QtCore
import sys
import matplotlib.pyplot as plt
import numpy as np
def run():
#here is some code, I delete them since they are useless for this question
return data1 #data1 is a list with 30 elements
app = QtCore.QCoreApplication(sys.argv)
client.finished.connect(app.quit)
QtCore.QTimer().singleShot(0,lambda:client.timed_range_stream(5000))
app.exec_()
fig = plt.figure()
ax1 = fig.add_subplot(111)
data2 = run()
datalen = np.linspace(0,10,len(data2))
ax1.plot(datalen,data2,lw = 2)
plt.show()
由於matplotlib使用PyQt4的作爲後端,我很困惑,爲什麼這個錯誤發生。它應該自動創建一個QGuiApplication。我的意思是我是否在之前使用pyqt4,'app.exec_()'下面的代碼應該自動創建一個QGuiApplication。請指出我是否錯了。
非常感謝您的幫助!請給我一些建議。
非常感謝!我很快就會把你的。 – disccip