Q:

Is it trivial to make a PyQt scalable (after having it written)?

So I've started to play around with Qt Designer to learn building some GUIs, and now I've been playing quite a lot with one GUI, which is close to the functionality I want. Of course at the start I did not do it properly, and did not set a  layout box, but just played my buttons/labels etc. where it looked appropriate. Now I am thinking, that it would be nice to make it scalable, but I was wondering if this is something simple? Or is it better to start over from scratch with a proper layout?
This is the part that defines how it looks (minus the retranslateUi method, which just puts the names on labels/buttons):
def setupUi(self, Form):
    Form.setObjectName(_fromUtf8("Form"))
    Form.resize(715, 571)

    self.toolButtonLoad = QtGui.QToolButton(Form)
    self.toolButtonLoad.setGeometry(QtCore.QRect(40, 250, 23, 25))
    self.toolButtonLoad.setObjectName(_fromUtf8("toolButtonLoad"))

    self.prevButton = QtGui.QPushButton(Form)
    self.prevButton.setGeometry(QtCore.QRect(70, 250, 98, 27))
    self.prevButton.setObjectName(_fromUtf8("prevButton"))
    self.nextButton = QtGui.QPushButton(Form)
    self.nextButton.setGeometry(QtCore.QRect(180, 250, 98, 27))
    self.nextButton.setObjectName(_fromUtf8("nextButton"))
    self.horizontalSliderFrames = QtGui.QSlider(Form)
    self.horizontalSliderFrames.setGeometry(QtCore.QRect(40, 280, 601, 29))
    self.horizontalSliderFrames.setOrientation(QtCore.Qt.Horizontal)
    self.horizontalSliderFrames.setObjectName(_fromUtf8("horizontalSliderFrames"))
    self.labelMain = QtGui.QLabel(Form)
    self.labelMain.setGeometry(QtCore.QRect(70, 30, 531, 171))
    self.labelMain.setObjectName(_fromUtf8("labelMain"))
    self.labelBigIW = QtGui.QLabel(Form)
    self.labelBigIW.setGeometry(QtCore.QRect(200, 350, 128, 128))
    self.labelBigIW.setObjectName(_fromUtf8("labelBigIW"))
    self.labelSmallIW = QtGui.QLabel(Form)
    self.labelSmallIW.setGeometry(QtCore.QRect(70, 380, 64, 64))
    self.labelSmallIW.setObjectName(_fromUtf8("labelSmallIW"))

    self.pushButton = QtGui.QPushButton(Form)

    self.pushButton.setText("Plot Correlation Matrix")

    self.pushButton.setGeometry(QtCore.QRect(440, 350, 200, 50))

    #self.labelCorr = QtGui.QLabel(Form)
    #self.labelCorr.setGeometry(QtCore.QRect(440, 350, 221, 171))
    #self.labelCorr.setObjectName(_fromUtf8("labelCorr"))

    self.horizontalScrollBarIW = QtGui.QScrollBar(Form)
    self.horizontalScrollBarIW.setGeometry(QtCore.QRect(300, 260, 341, 16))
    self.horizontalScrollBarIW.setOrientation(QtCore.Qt.Horizontal)
    self.horizontalScrollBarIW.setObjectName(_fromUtf8("horizontalScrollBarIW"))
    self.verticalScrollBarIW = QtGui.QScrollBar(Form)
    self.verticalScrollBarIW.setGeometry(QtCore.QRect(660, 20, 16, 231))
    self.verticalScrollBarIW.setOrientation(QtCore.Qt.Vertical)
    self.verticalScrollBarIW.setObjectName(_fromUtf8("verticalScrollBarIW"))

A:

Create a copy of your current ui file and open both side-by-side in Qt Designer so you can compare the results.
Working from the example code you've shown, you can easily add layouts using the following steps:

put horizontal spacer on the right of the three buttons.
click on the form at the top left of the buttons and drag out a selection rectangle so that it covers the buttons and the spacer.
click the Lay Out Horizontally button on the toolbar
now put a horizontal spacer on the left of the plot button, and put this spacer and button in a horizontal layout as in 2 & 3 above.
put the two labels at the bottom in a horizontal layout.
put a separate vertical spacer underneath the two labels.
click on an empty area of the form, and then click the Lay Out in a Grid button on the toolbar.

This should give you reasonable initial results, although you'll probably need to adjust things a little to achieve exactly what you want. For example, to get a widget (or child-layout) to span the whole width of the form, select it, and then use the drag handles to stretch it as required.
For more details, see the Layout Management overview in the Qt Docs.
UPDATE:
If you continue editing the module generated by pyuic, that pretty much guarantees that it won't ever be "scalable". You should keep the GUI definition completely separate from the main application logic, so that you can update the ui file using Qt Designer and regenerate the python module whenever necessary.
So step 0 should be to re-create the designer ui file from the existing python module. This can be done using QFormBuilder:
window = MainWindow()
stream = QtCore.QFile('mainwindow.ui')
stream.open(QtCore.QIODevice.WriteOnly)
QtDesigner.QFormBuilder().save(stream, window)
stream.close()

This may not always exactly reproduce the current GUI, but it should give you a good starting point. Once you have that sorted out, you can extract the non-GUI code from your existing python module, and move it into a separate module. See Using Qt Designer in the PyQt4 Docs for various examples showing how to integrate the GUI with the main application code.

