ich habe eine kleine GUI geschrieben, welche ein TabWidget enthält und in die Tabs möchte ich gerne auf Knopfdruck eine Funktion plotten.
Zwar gibt es auf http://matplotlib.org/2.0.0/examples/us ... n_qt4.html ein beispiel, wie man einen Plot in eine Gui einbettet, allerdings bin ich noch ein Frischling in Python und verstehe nicht ganz, wie man den Plot in den Tab integriert.
Die Dokumentation von QT hat mir ebenfalls nicht weitergeholfen. http://doc.qt.io/qt-4.8/qtabwidget.html
Sie besagt, ich soll child widgets in die page widgets integrieren??? ich verstehe leider nicht, was die meinen..
Das habe ich bisher geschrieben:
Code: Alles auswählen
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QMainWindow, QTabWidget, QWidget
import sys
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class Ui_GTM_Form(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.main_frame = QtGui.QWidget()
self.tabWidget = QtGui.QTabWidget( self.main_frame )
self.vbox = vbox = QtGui.QVBoxLayout()
vbox.addWidget(self.tabWidget)
self.setWindowIcon(QtGui.QIcon("Fraunhofer_icon.png"))
self.setupUi(self)
def StartGTM(self):
print "Start"
x = np.linspace(1, 2*np.pi, 100)
y = np.sin(np.pi*x)+0.1*np.random.randn(100)
f = Figure()
a = f.add_subplot(111)
a.plot(x,y)
tabwid = QTabWidget()
WGA = QWidget()
canvas = FigureCanvas(f)
canvas.setParent(WGA)
tabwid.addTab(WGA, "Tab A") #??? ; Tab A ist der Name des ersten tabs
tabwid.addWidget(FigureCanvas(f))
canvas.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_GTM_Form()
ex.show()
sys.exit(app.exec_())
Ich nutze Python 2.7 mit PyQt4..