Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # Activity 1 solution
- #
- import sys
- from PyQt5 import QtGui, QtCore, QtWidgets
- class MainWindow(QtWidgets.QMainWindow):
- def __init__(self):
- super(MainWindow,self).__init__()
- self.createUI()
- def createUI(self):
- ### set window title ###
- self.setWindowTitle("Epic")
- ###create window components###
- # main Widget for central display
- self.mainViewWidget = QtWidgets.QWidget()
- # set the layout of main widget by calling a build method
- self.mainViewWidget.setLayout(self.buildGUI())
- # set central widget to layout just built
- self.setCentralWidget(self.mainViewWidget)
- def buildGUI(self):
- ###create layouts to go on main widget ###
- self.mainLayout = QtWidgets.QVBoxLayout()
- #Radio button
- self.myGroupBox = QtWidgets.QGroupBox("Please select your type of pet",self)
- self.bLayout = QtWidgets.QVBoxLayout()
- self.myGroupBox.setLayout(self.bLayout)
- self.myButtongroup = QtWidgets.QButtonGroup()
- self.myb = QtWidgets.QRadioButton("Lizard",self)
- self.myb2 = QtWidgets.QRadioButton("Pig",self)
- self.myButtongroup.addButton(self.myb,1)
- self.myButtongroup.addButton(self.myb2,2)
- self.bLayout.addWidget(self.myb)
- self.bLayout.addWidget(self.myb2)
- self.myb.setChecked(True)
- # create a widget
- self.continueButton = QtWidgets.QPushButton("Continue",self)
- self.myLabel = QtWidgets.QLabel("Create your new pet",self)
- # add widget to layout
- self.mainLayout.addWidget(self.myLabel)
- self.mainLayout.addWidget(self.myGroupBox)
- self.mainLayout.addWidget(self.continueButton)
- # link buttons to methods
- self.continueButton.clicked.connect(self.on_click)
- # return layout
- return self.mainLayout
- def buildGUI2(self):
- ###create layouts to go on main widget ###
- self.mainLayout = QtWidgets.QGridLayout()
- # create a widget
- self.playButton = QtWidgets.QPushButton("Play",self)
- self.talkButton = QtWidgets.QPushButton("Talk",self)
- self.feedButton = QtWidgets.QPushButton("Feed",self)
- self.exitButton = QtWidgets.QPushButton("Exit",self)
- self.nameEdit = QtWidgets.QLineEdit("Name",self)
- self.hungerEdit = QtWidgets.QLineEdit("Hunger",self)
- self.boredumEdit = QtWidgets.QLineEdit("Boredum",self)
- self.boredumEdit.setReadOnly(True)
- self.hungerEdit.setReadOnly(True)
- self.nameEdit.setReadOnly(True)
- self.nameLabel = QtWidgets.QLabel("Name:",self)
- self.hungerLabel = QtWidgets.QLabel("Hunger:",self)
- self.boredumLabel = QtWidgets.QLabel("Boredom:",self)
- # dimentions
- #self.setFixedSize(600,330)
- # graphics
- lizardPic = QtGui.QPixmap("lizard.jpg")
- pigPic = QtGui.QPixmap("pig.jpg")
- self.myScene = QtWidgets.QGraphicsScene()
- self.myScene.addPixmap(lizardPic)
- self.myView = QtWidgets.QGraphicsView(self.myScene)
- self.myView.setFixedHeight(227)
- self.myView.setFixedWidth(227)
- # add widget to layout
- self.mainLayout.addWidget(self.playButton,3,0)
- self.mainLayout.addWidget(self.talkButton,3,1)
- self.mainLayout.addWidget(self.feedButton,3,2)
- self.mainLayout.addWidget(self.exitButton,3,3)
- self.mainLayout.addWidget(self.nameEdit,0,3)
- self.mainLayout.addWidget(self.hungerEdit,1,3)
- self.mainLayout.addWidget(self.boredumEdit,2,3)
- self.mainLayout.addWidget(self.nameLabel,0,2)
- self.mainLayout.addWidget(self.hungerLabel,1,2)
- self.mainLayout.addWidget(self.boredumLabel,2,2)
- self.mainLayout.addWidget(self.myView,0,0)
- # return layout
- return self.mainLayout
- def on_click(self):
- self.mainViewWidget = QtWidgets.QWidget()
- # set the layout of main widget by calling a build method
- self.mainViewWidget.setLayout(self.buildGUI2())
- # set central widget to layout just built
- self.setCentralWidget(self.mainViewWidget)
- #main program
- #create new application
- application = QtWidgets.QApplication(sys.argv)
- #create new instance of main window
- mainWindow = MainWindow()
- #display main window
- mainWindow.show()
- #keep main window on top
- mainWindow.raise_()
- #monitor for events
- application.exec_()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement