0

一部のデータを取り込み、それを別の関数に送信する GUI を作成しました。次に、その関数はグラフをプロットし、それを jpeg 画像として保存します。ここで、この画像をピックスマップ ラベルとして GUI ウィンドウに動的に表示したいと思います。プッシュボタンがクリックされるのを待ってから、関数が呼び出されます。しかし、呼び出された関数内でプロットが完了し、実行が返された直後に、ラベルがピックスマップを取得するようにします。

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        btn = QtGui.QPushButton('button', self)
        btn.setToolTip('<b>calculate</b>')
        btn.resize(btn.sizeHint())
        btn.move(150, 500)

        btn.clicked.connect(self.call)

        pixmap = QtGui.QPixmap('image.jpg')
        label = QtGui.QLabel(self)
        label.setPixmap(pixmap)
        label.move(440, 50)

    def call(self):

        #plotting is done here
        plt.clf()
        plt.plot(x_data, y_data)
        plt.ylabel('y')
        plt.xlabel('x')
        plt.savefig('image.jpg', format='jpg')


def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()
4

0 に答える 0