カスタムmatplotlibウィジェットを使用して簡単なグラフをプロットするPythonプログラムがあります。私のコードは次のとおりです。
import sys
from GUI import *
import random
import matplotlib.pyplot as plt
class GUIForm(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.pushButton,
QtCore.SIGNAL('clicked()'), self.PlotFunc)
def PlotFunc(self):
randValList = random.sample(range(0, 10), 10)
print(randValList)
self.ui.PlotWidget.canvas.ax.clear()
self.ui.PlotWidget.canvas.ax.plot(randValList)
def callFunc(self):
myapp.PlotFunc()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = GUIForm()
myapp.show()
sys.exit(app.exec_())
プログラムを実行するとGUIが表示されますが、ボタンをクリックするとプロットに線が表示されません。空のプロットが表示されます。しかし、私がやったら
def __init__(self, parent=None):
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.pushButton,
QtCore.SIGNAL('clicked()'), self.PlotFunc)
self.ui.PlotWidget.canvas.ax.plot(randValList)
また
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = GUIForm()
myapp.show()
self.PlotFunc()
sys.exit(app.exec_())
プログラムはグラフを描画します。だから私はそれが関係していると思いますがsys.exit(app.exec_())
、これを修正する方法がわかりません。どんな助けでも大歓迎です。
ありがとうございました。