2016-08-01 14 views
0

Also ich versuche, PyQtGraph ein Diagramm in einer GUI, die ich entwickeln, zu plotten (Sie können es hier überprüfen https://github.com/allg18/MuonAquisitionTool, ich benutze Python3 und PyQt4). Wenn ich jedoch das Plotwidget zur Groupbox im MainWindow hinzufüge, bleibt es immer winzig. Der Plotgraph wurde nicht auf die gesamte Groupbox erweitert.PyQtGraph Plot fälschlicherweise auf Qt MainWindow

class MainWindow2(QMainWindow, Ui_MainWindow): 
    def __init__(self): 
     super(MainWindow2, self).__init__() 

     # Set up the user interface from Designer. 

     self.setupUi(self) 

     """Booting up the Graphics""" 
     self.preview_plot = pg.PlotWidget(self.groupBox_2) 
     self.preview_plot.adjustSize() 
     self.data1 = numpy.random.normal(size=300) 
     self.curve1 = self.preview_plot.plot(self.data1) 

In dem die groupBox_2 ist der Ort, wo ich es in den MainWindow legen möchte. Wie Sie sehen können, habe ich auch versucht, dort eine "adjust_size" zu setzen. Ich habe auch versucht:

self.preview_plot.resize(500, 500) 

Und dies tatsächlich funktioniert, war es die einzige Art, wie ich mit einer Größe von dem unterscheidet bekam im Bild

UPDATE: Ich habe versucht, das Hinzufügen der folgenden Zeile, aber das tat wieder ändern nicht die Größe des Graphen-Widget ...

self.graph.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) 

Print-Screen of the GUI Running.

Antwort

0

nicht versuchen Sie die Widgets positionieren Sie sich, dieses i s hart und fehleranfällig. Qt hat einen Layout-Mechanismus, um dies für Sie zu tun. Sie lesen darüber here

Ich kann nicht Ihr Beispiel beheben, weil es nicht vollständig ist, ich nicht die QMainWindow und Ui_MainWindow Klassen (in Zukunft bitte MCVE machen). Es gibt jedoch wahrscheinlich ein Groupbox-Layout, zu dem Sie Ihr Plot-Widget mit addWidget hinzufügen können.

+0

Was meinen Sie mit der Positionierung der Widgets selbst? Ich habe nur das Eltern-Widget mit "self.preview_plot = pg.PlotWidget (self.groupBox_2)" ... eingestellt. Dann habe ich verschiedene Befehle ausprobiert, aber der einzige, der irgendetwas mit der Bildgröße gemacht hat, war die "Größenänderung", die ich gemacht habe. "Resize (self.preview_plot.sizeHint())" hat jedoch auch nichts bewirkt. – Kelthar

+0

Ich meine, mache keine explizite Größenanpassung oder Positionierung. Verwenden Sie einfach den Layout-Mechanismus. – titusjan