Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. #
  2. # Activity 1 solution
  3. #
  4. import sys
  5. from PyQt5 import QtGui, QtCore, QtWidgets
  6.  
  7. class MainWindow(QtWidgets.QMainWindow):
  8. def __init__(self):
  9. super(MainWindow,self).__init__()
  10. self.createUI()
  11.  
  12. def createUI(self):
  13. ### set window title ###
  14. self.setWindowTitle("Epic")
  15.  
  16.  
  17. ###create window components###
  18. # main Widget for central display
  19. self.mainViewWidget = QtWidgets.QWidget()
  20. # set the layout of main widget by calling a build method
  21. self.mainViewWidget.setLayout(self.buildGUI())
  22. # set central widget to layout just built
  23. self.setCentralWidget(self.mainViewWidget)
  24.  
  25.  
  26.  
  27.  
  28. def buildGUI(self):
  29.  
  30. ###create layouts to go on main widget ###
  31. self.mainLayout = QtWidgets.QVBoxLayout()
  32.  
  33.  
  34. #Radio button
  35. self.myGroupBox = QtWidgets.QGroupBox("Please select your type of pet",self)
  36. self.bLayout = QtWidgets.QVBoxLayout()
  37. self.myGroupBox.setLayout(self.bLayout)
  38. self.myButtongroup = QtWidgets.QButtonGroup()
  39. self.myb = QtWidgets.QRadioButton("Lizard",self)
  40. self.myb2 = QtWidgets.QRadioButton("Pig",self)
  41. self.myButtongroup.addButton(self.myb,1)
  42. self.myButtongroup.addButton(self.myb2,2)
  43. self.bLayout.addWidget(self.myb)
  44. self.bLayout.addWidget(self.myb2)
  45. self.myb.setChecked(True)
  46.  
  47.  
  48. # create a widget
  49. self.continueButton = QtWidgets.QPushButton("Continue",self)
  50. self.myLabel = QtWidgets.QLabel("Create your new pet",self)
  51.  
  52.  
  53. # add widget to layout
  54. self.mainLayout.addWidget(self.myLabel)
  55. self.mainLayout.addWidget(self.myGroupBox)
  56. self.mainLayout.addWidget(self.continueButton)
  57.  
  58. # link buttons to methods
  59. self.continueButton.clicked.connect(self.on_click)
  60.  
  61.  
  62. # return layout
  63. return self.mainLayout
  64.  
  65.  
  66. def buildGUI2(self):
  67.  
  68.  
  69. ###create layouts to go on main widget ###
  70. self.mainLayout = QtWidgets.QGridLayout()
  71.  
  72.  
  73. # create a widget
  74. self.playButton = QtWidgets.QPushButton("Play",self)
  75. self.talkButton = QtWidgets.QPushButton("Talk",self)
  76. self.feedButton = QtWidgets.QPushButton("Feed",self)
  77. self.exitButton = QtWidgets.QPushButton("Exit",self)
  78. self.nameEdit = QtWidgets.QLineEdit("Name",self)
  79. self.hungerEdit = QtWidgets.QLineEdit("Hunger",self)
  80. self.boredumEdit = QtWidgets.QLineEdit("Boredum",self)
  81. self.boredumEdit.setReadOnly(True)
  82. self.hungerEdit.setReadOnly(True)
  83. self.nameEdit.setReadOnly(True)
  84. self.nameLabel = QtWidgets.QLabel("Name:",self)
  85. self.hungerLabel = QtWidgets.QLabel("Hunger:",self)
  86. self.boredumLabel = QtWidgets.QLabel("Boredom:",self)
  87.  
  88.  
  89. # dimentions
  90. #self.setFixedSize(600,330)
  91.  
  92. # graphics
  93. lizardPic = QtGui.QPixmap("lizard.jpg")
  94. pigPic = QtGui.QPixmap("pig.jpg")
  95.  
  96. self.myScene = QtWidgets.QGraphicsScene()
  97.  
  98. self.myScene.addPixmap(lizardPic)
  99.  
  100. self.myView = QtWidgets.QGraphicsView(self.myScene)
  101.  
  102. self.myView.setFixedHeight(227)
  103. self.myView.setFixedWidth(227)
  104.  
  105.  
  106.  
  107. # add widget to layout
  108. self.mainLayout.addWidget(self.playButton,3,0)
  109. self.mainLayout.addWidget(self.talkButton,3,1)
  110. self.mainLayout.addWidget(self.feedButton,3,2)
  111. self.mainLayout.addWidget(self.exitButton,3,3)
  112. self.mainLayout.addWidget(self.nameEdit,0,3)
  113. self.mainLayout.addWidget(self.hungerEdit,1,3)
  114. self.mainLayout.addWidget(self.boredumEdit,2,3)
  115. self.mainLayout.addWidget(self.nameLabel,0,2)
  116. self.mainLayout.addWidget(self.hungerLabel,1,2)
  117. self.mainLayout.addWidget(self.boredumLabel,2,2)
  118. self.mainLayout.addWidget(self.myView,0,0)
  119.  
  120.  
  121. # return layout
  122. return self.mainLayout
  123.  
  124. def on_click(self):
  125. self.mainViewWidget = QtWidgets.QWidget()
  126. # set the layout of main widget by calling a build method
  127. self.mainViewWidget.setLayout(self.buildGUI2())
  128. # set central widget to layout just built
  129. self.setCentralWidget(self.mainViewWidget)
  130.  
  131.  
  132.  
  133.  
  134.  
  135. #main program
  136.  
  137. #create new application
  138. application = QtWidgets.QApplication(sys.argv)
  139. #create new instance of main window
  140. mainWindow = MainWindow()
  141. #display main window
  142. mainWindow.show()
  143. #keep main window on top
  144. mainWindow.raise_()
  145. #monitor for events
  146. application.exec_()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement