私は特定のボタンをクリックするとグラフのデータを私に与えるはずのプログラムを書いています。 これは私の今のところまでのプログラムですが、最後の4つのボタンを接続する必要がありますが、最初のボタンは機能しますが、もう1つの問題があります:「One Plot "しかし、私は"最初のボタン "をアクティブにして以来、チャートは、問題のタイトルのためにもう表示されません。これはスクリプトです:pythonのchangefig()は2つの引数(1つが指定されています)を受け取ります
class Main(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
self.setupUi(self)
self.fig_dict = {}
self.mplfigs.itemClicked.connect(self.changefig)
self.button1.setText("First Point")
self.button1.clicked.connect(self.onClickButton1)
self.dialogbutton1 = PopUp(self)
fig = Figure()
self.addmpl(fig)
@QtCore.pyqtSlot()
def changefig(self, item):
text = item.text()
self.rmmpl()
self.addmpl(self.fig_dict[str(text)])
def addfig(self, name, fig):
self.fig_dict[name] = fig
self.mplfigs.addItem(name)
def addmpl(self, fig):
self.canvas = FigureCanvas(fig)
self.mplvl.addWidget(self.canvas)
self.canvas.draw()
self.toolbar = NavigationToolbar(self.canvas,
self.mplwindow, coordinates=True)
self.mplvl.addWidget(self.toolbar)
def onClickButton1(self):
""" When button 1 is clicked I do the following """
print "does nothing now."
self.dialogbutton1.exec_()
def rmmpl(self,):
self.mplvl.removeWidget(self.canvas)
self.canvas.close()
self.mplvl.removeWidget(self.toolbar)
self.toolbar.close()
クラスのポップアップ(QtGui.QDialog): DEF のinit(自己、親=なし): スーパー(ポップアップ、自己)。 のinit(親)
self.buttonBox = QtGui.QDialogButtonBox(self)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.textBrowser = QtGui.QTextBrowser(self)
self.textBrowser.append("x - Coordinate = 0 y - Coordinate = 0.031451")
self.verticalLayout = QtGui.QVBoxLayout(self)
self.verticalLayout.addWidget(self.textBrowser)
self.verticalLayout.addWidget(self.buttonBox)
名場合 == 'メイン':class Main
でNP
fig1 = Figure()
ax1f1 = fig1.add_subplot(111)
ax1f1.plot(np.random.rand(5))
app = QtGui.QApplication(sys.argv)
main = Main()
main.addfig('One plot', fig1)
print main.fig_dict
main.show()
sys.exit(app.exec_())
する必要がありますが、私はそれを実行したときに、今そこに書かれている:今 –
わかりましたが、私はそれを実行したときにそこに書かれている: ファイル「C:\ Users \ユーザーhanlab \デスクトップ\クエンティン\プロットMIT (item.) self.mplfigs.itemClicked.connect(self.changefig(item)) NameError:グローバル名 'item'が定義されていません –
私は誤って上のコメントを入力しました。私は誤ってenterを押しました –