Hey thanks for replying Buran. The code is below and I put a bunch of $$$$$$ before the bit she says is a function coz I can't see how to colour the text red! It's near the end. Thanks again
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtWidgets import QFrame, QApplication, QWidget, QPushButton, QColorDialog, QSlider
from PyQt5.QtGui import QIcon, QColor
from PyQt5.QtCore import Qt
class StartScreen():
def GUI(self, MainWindow):
MainWindow.setFixedSize(395, 290)
MainWindow.setWindowTitle("Start Screen")
self.centralwidget = QtWidgets.QWidget(MainWindow)
#----------------------------Layouts----------------------------
self.gridL = QtWidgets.QGridLayout(self.centralwidget)
spacerItem = QtWidgets.QSpacerItem(374, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridL.addItem(spacerItem, 6, 0, 1, 1)
self.formL = QtWidgets.QFormLayout()
#----------------------------Labels----------------------------
self.label_1 = QtWidgets.QLabel(self.centralwidget)
self.label_1.setText("No. of Pendulums")
self.formL.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_1)
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setText("Decay Factor")
self.formL.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2)
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setText("Max Frequency")
self.formL.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3)
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setText("Frequency Spread")
self.formL.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setText("Speed")
self.formL.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_5)
#----------------------------Sliders----------------------------
self.noPendSlider = QtWidgets.QSlider(self.centralwidget)
self.noPendSlider.setMinimumSize(QtCore.QSize(281, 0))
self.noPendSlider.setOrientation(QtCore.Qt.Horizontal)
self.formL.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.noPendSlider)
self.decaySlider = QtWidgets.QSlider(self.centralwidget)
self.decaySlider.setOrientation(QtCore.Qt.Horizontal)
self.formL.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.decaySlider)
self.maxFreqSlider = QtWidgets.QSlider(self.centralwidget)
self.maxFreqSlider.setOrientation(QtCore.Qt.Horizontal)
self.formL.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.maxFreqSlider)
self.freqSpSlider = QtWidgets.QSlider(self.centralwidget)
self.freqSpSlider.setOrientation(QtCore.Qt.Horizontal)
self.formL.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.freqSpSlider)
self.speedSlider = QtWidgets.QSlider(self.centralwidget)
self.speedSlider.setOrientation(QtCore.Qt.Horizontal)
self.formL.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.speedSlider)
self.gridL.addLayout(self.formL, 0, 0, 1, 1)
self.vertL = QtWidgets.QVBoxLayout()
self.startBtn = QtWidgets.QPushButton(self.centralwidget)
self.startBtn.setText("Start")
self.startBtn.setToolTip("Start the simulation")
self.vertL.addWidget(self.startBtn)
self.gridL.addLayout(self.vertL, 7, 0, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(455, 17, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridL.addItem(spacerItem1, 2, 0, 1, 1)
self.vertL_3 = QtWidgets.QVBoxLayout()
self.hozL_2 = QtWidgets.QHBoxLayout()
#----------------------------Colour-Dialog----------------------------
self.colourLineBtn = QtWidgets.QPushButton(self.centralwidget)
self.colourLineBtn.setText("Line Colour")
self.colourLineBtn.setToolTip("Change the line colour")
self.hozL_2.addWidget(self.colourLineBtn)
#self.colourLineBtn.clicked.connect(self.showDialog)
self.colourBgBtn = QtWidgets.QPushButton(self.centralwidget)
self.colourBgBtn.setText("Background colour")
self.colourBgBtn.setToolTip("Change the background colour")
# self.colourBgBtn.clicked.connect(self.showDialog)
self.hozL_2.addWidget(self.colourBgBtn)
#col = QColor(0,0,0)
#self.frm = QFrame(self.centralwidget)
#self.frm.setStyleSheet("QWidget { background-color: %s }"
# % col.name())
$$$$$$$$$$
# def showDialog(self):
# col = QColorDialog.getColor()
# if col.isValid():
# self.frm.setStyleSheet("QWidget { background-color: %s }"
# % col.name())
self.vertL_3.addLayout(self.hozL_2)
self.formL_4 = QtWidgets.QFormLayout()
self.lineWidthSlider = QtWidgets.QSlider(self.centralwidget)
self.lineWidthSlider.setOrientation(QtCore.Qt.Horizontal)
self.formL_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineWidthSlider)
self.lineWidthLbl = QtWidgets.QLabel(self.centralwidget)
self.lineWidthLbl.setText("Line Width")
self.lineWidthLbl.setToolTip("Change the line width")
self.formL_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lineWidthLbl)
self.vertL_3.addLayout(self.formL_4)
self.gridL.addLayout(self.vertL_3, 3, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
#----------------------------Execute----------------------------
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = StartScreen()
ui.GUI(MainWindow)
MainWindow.show()
sys.exit(app.exec_())