Loading view/binaryTreeToDyckWordGui.py +14 −11 Original line number Diff line number Diff line Loading @@ -16,16 +16,19 @@ class BinaryTreeToDyckWordGui(LevelGui): self.createScoreLabel() self.layout = QGridLayout() self.layout.addWidget(self.scoreLabel, 0, 1, alignment=Qt.AlignRight) self.layout.addWidget(self.treeView, 1, 0) self.layout.addWidget(self.dyckWordGroupBox, 1, 1) self.layout.setColumnStretch(0, 2) self.layout.setColumnStretch(1, 1) self.layout.addWidget(self.menuWidget, 0, 0, alignment=Qt.AlignLeft) self.layout.addWidget(self.levelWidget, 0, 1, alignment=Qt.AlignLeft) self.layout.addWidget(self.scoreLabel, 0, 3, alignment=Qt.AlignRight) self.layout.addWidget(self.treeView, 1, 0, 1, 2) self.layout.addWidget(self.dyckWordGroupBox, 1, 2, 1, 2) self.layout.setColumnStretch(1, 2) self.layout.setColumnStretch(2, 1) self.setLayout(self.layout) def createDyckWordGroupBox(self): self.dyckWordGroupBox = QGroupBox() self.dyckWordGroupBox.setStyleSheet("background: white;") self.globalDyckWordLayout = QVBoxLayout() self.dyckWordLayout = QHBoxLayout() self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1) Loading Loading @@ -59,27 +62,27 @@ class BinaryTreeToDyckWordGui(LevelGui): font = QFont("Arial", fontSize) if self.indexHole == 1: self.answer1 = QLineEdit() self.answer1.setStyleSheet("border: 0px") self.answer1.setStyleSheet("border: 3px solid black") self.answer1.setPlaceholderText(hole) self.answer1.setFont(font) self.answer1.setFixedWidth(3 + len(hole) * fontSize) self.answer1.setFixedWidth(6 + len(hole) * fontSize) self.answer1.setMaxLength(len(hole)) self.dyckWordLayout.addWidget(self.answer1) elif self.indexHole == 2: self.answer2 = QLineEdit() self.answer2.setStyleSheet("border: 0px") self.answer2.setStyleSheet("border: 3px solid black") self.answer2.setPlaceholderText(hole) self.answer2.setFont(font) self.answer2.setMaxLength(len(hole)) self.answer2.setMaximumWidth(3 + len(hole) * fontSize) self.answer2.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer2) else: self.answer3 = QLineEdit() self.answer3.setStyleSheet("border: 0px") self.answer3.setStyleSheet("border: 3px solid black") self.answer3.setPlaceholderText(hole) self.answer3.setMaxLength(len(hole)) self.answer3.setFont(font) self.answer3.setMaximumWidth(3 + len(hole) * fontSize) self.answer3.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer3) def createButtons(self): Loading view/levelGui.py +65 −2 Original line number Diff line number Diff line from PyQt5.QtGui import QFont, QPalette, QColor from PyQt5.QtWidgets import QWidget, QAction, QMessageBox, QPushButton, QLabel from PyQt5.QtGui import QFont, QPalette, QColor, QBrush, QPen from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt Loading @@ -8,18 +8,81 @@ class LevelGui(QWidget): def __init__(self, controller): super(QWidget, self).__init__() self.controller = controller self.color = QColor(52, 73, 94) self.shortCutAction = QAction() self.shortCutAction.setShortcut("Ctrl+B") self.addAction(self.shortCutAction) self.createScoreLabel() self.createMenuWidget() self.createLevelWidget() self.createEndBox() def createMenuWidget(self): self.menuWidget = QWidget() layout = QHBoxLayout() scene = QGraphicsScene() pen = QPen(self.color) pen.setWidth(3) unit = 3.5 line1 = QGraphicsLineItem(1 * unit, 7 * unit, 1 * unit, 3 * unit) line2 = QGraphicsLineItem(1 * unit, 7 * unit, 3 * unit, 7 * unit) line3 = QGraphicsLineItem(3 * unit, 7 * unit, 3 * unit, 4 * unit) line4 = QGraphicsLineItem(3 * unit, 4 * unit, 5 * unit, 4 * unit) line5 = QGraphicsLineItem(5 * unit, 4 * unit, 5 * unit, 7 * unit) line6 = QGraphicsLineItem(5 * unit, 7 * unit, 7 * unit, 7 * unit) line7 = QGraphicsLineItem(7 * unit, 7 * unit, 7 * unit, 3 * unit) line8 = QGraphicsLineItem(0.25 * unit, 3.75 * unit, 4 * unit, 0 * unit) line9 = QGraphicsLineItem(4 * unit, 0 * unit, 7.75 * unit, 3.75 * unit) line1.setPen(pen) line2.setPen(pen) line3.setPen(pen) line4.setPen(pen) line5.setPen(pen) line6.setPen(pen) line7.setPen(pen) line8.setPen(pen) line9.setPen(pen) scene.addItem(line1) scene.addItem(line2) scene.addItem(line3) scene.addItem(line4) scene.addItem(line5) scene.addItem(line6) scene.addItem(line7) scene.addItem(line8) scene.addItem(line9) scene.setSceneRect(0.25 * unit, unit, 7.5 * unit, 7 * unit) view = QGraphicsView(scene) layout.addWidget(view) self.menuWidget.setStyleSheet("border: 0px") self.menuWidget.setLayout(layout) self.menuWidget.setFixedSize(60, 60) def createLevelWidget(self): self.levelWidget = QWidget() layout = QHBoxLayout() scene = QGraphicsScene() pen = QPen(self.color) for i in range(3): for j in range(3): square = QGraphicsRectItem(i * 10, j * 10, 5, 5) square.setBrush(self.color) square.setPen(pen) scene.addItem(square) view = QGraphicsView(scene) layout.addWidget(view) self.levelWidget.setStyleSheet("border: 0px; background: #F2F3F4") self.levelWidget.setLayout(layout) self.levelWidget.setFixedSize(50, 50) def createScoreLabel(self): palette = QPalette() palette.setColor(QPalette.Foreground, QColor(24, 106, 59)) self.scoreLabel = QLabel("Score : " + str(self.controller.level.score)) self.scoreLabel.setFixedSize(165, 25) self.scoreLabel.setAutoFillBackground(True) self.scoreLabel.setFont(QFont("Arial", 20)) self.scoreLabel.setPalette(palette) Loading view/menu.py +1 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ class Menu: self.window = MyWindow(None) self.window.setMinimumSize(1000, 500) self.window.setCentralWidget(QWidget()) self.window.centralWidget().setStyleSheet("background: #F2F3F4") self.gameButtons = [] self.centralLayout = QHBoxLayout(self.window.centralWidget()) self.paramWindow(1200, 600, "Bijamacc") Loading view/menuWidget.py +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ class MenuWidget(QWidget): self.createMenuView() self.setStyleSheet("background: white") self.layout.addWidget(self.menuView) self.setLayout(self.layout) Loading view/planarTreeToDyckWordGui.py +7 −6 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ class PlanarTreeToDyckWordGui(LevelGui): def createDyckWordGroupBox(self): self.dyckWordGroupBox = QGroupBox() self.dyckWordGroupBox.setStyleSheet("background: white; border: 1px") self.globalDyckWordLayout = QVBoxLayout() self.dyckWordLayout = QHBoxLayout() self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1) Loading Loading @@ -58,27 +59,27 @@ class PlanarTreeToDyckWordGui(LevelGui): font = QFont("Arial", fontSize) if self.indexHole == 1: self.answer1 = QLineEdit() self.answer1.setStyleSheet("border: 0px") self.answer1.setStyleSheet("border: 3px solid black") self.answer1.setPlaceholderText(hole) self.answer1.setFont(font) self.answer1.setFixedWidth(3 + len(hole) * fontSize) self.answer1.setFixedWidth(6 + len(hole) * fontSize) self.answer1.setMaxLength(len(hole)) self.dyckWordLayout.addWidget(self.answer1) elif self.indexHole == 2: self.answer2 = QLineEdit() self.answer2.setStyleSheet("border: 0px") self.answer2.setStyleSheet("border: 3px solid black") self.answer2.setPlaceholderText(hole) self.answer2.setFont(font) self.answer2.setMaxLength(len(hole)) self.answer2.setMaximumWidth(3 + len(hole) * fontSize) self.answer2.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer2) else: self.answer3 = QLineEdit() self.answer3.setStyleSheet("border: 0px") self.answer3.setStyleSheet("border: 3px solid black") self.answer3.setPlaceholderText(hole) self.answer3.setMaxLength(len(hole)) self.answer3.setFont(font) self.answer3.setMaximumWidth(3 + len(hole) * fontSize) self.answer3.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer3) def createButtons(self): Loading Loading
view/binaryTreeToDyckWordGui.py +14 −11 Original line number Diff line number Diff line Loading @@ -16,16 +16,19 @@ class BinaryTreeToDyckWordGui(LevelGui): self.createScoreLabel() self.layout = QGridLayout() self.layout.addWidget(self.scoreLabel, 0, 1, alignment=Qt.AlignRight) self.layout.addWidget(self.treeView, 1, 0) self.layout.addWidget(self.dyckWordGroupBox, 1, 1) self.layout.setColumnStretch(0, 2) self.layout.setColumnStretch(1, 1) self.layout.addWidget(self.menuWidget, 0, 0, alignment=Qt.AlignLeft) self.layout.addWidget(self.levelWidget, 0, 1, alignment=Qt.AlignLeft) self.layout.addWidget(self.scoreLabel, 0, 3, alignment=Qt.AlignRight) self.layout.addWidget(self.treeView, 1, 0, 1, 2) self.layout.addWidget(self.dyckWordGroupBox, 1, 2, 1, 2) self.layout.setColumnStretch(1, 2) self.layout.setColumnStretch(2, 1) self.setLayout(self.layout) def createDyckWordGroupBox(self): self.dyckWordGroupBox = QGroupBox() self.dyckWordGroupBox.setStyleSheet("background: white;") self.globalDyckWordLayout = QVBoxLayout() self.dyckWordLayout = QHBoxLayout() self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1) Loading Loading @@ -59,27 +62,27 @@ class BinaryTreeToDyckWordGui(LevelGui): font = QFont("Arial", fontSize) if self.indexHole == 1: self.answer1 = QLineEdit() self.answer1.setStyleSheet("border: 0px") self.answer1.setStyleSheet("border: 3px solid black") self.answer1.setPlaceholderText(hole) self.answer1.setFont(font) self.answer1.setFixedWidth(3 + len(hole) * fontSize) self.answer1.setFixedWidth(6 + len(hole) * fontSize) self.answer1.setMaxLength(len(hole)) self.dyckWordLayout.addWidget(self.answer1) elif self.indexHole == 2: self.answer2 = QLineEdit() self.answer2.setStyleSheet("border: 0px") self.answer2.setStyleSheet("border: 3px solid black") self.answer2.setPlaceholderText(hole) self.answer2.setFont(font) self.answer2.setMaxLength(len(hole)) self.answer2.setMaximumWidth(3 + len(hole) * fontSize) self.answer2.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer2) else: self.answer3 = QLineEdit() self.answer3.setStyleSheet("border: 0px") self.answer3.setStyleSheet("border: 3px solid black") self.answer3.setPlaceholderText(hole) self.answer3.setMaxLength(len(hole)) self.answer3.setFont(font) self.answer3.setMaximumWidth(3 + len(hole) * fontSize) self.answer3.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer3) def createButtons(self): Loading
view/levelGui.py +65 −2 Original line number Diff line number Diff line from PyQt5.QtGui import QFont, QPalette, QColor from PyQt5.QtWidgets import QWidget, QAction, QMessageBox, QPushButton, QLabel from PyQt5.QtGui import QFont, QPalette, QColor, QBrush, QPen from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt Loading @@ -8,18 +8,81 @@ class LevelGui(QWidget): def __init__(self, controller): super(QWidget, self).__init__() self.controller = controller self.color = QColor(52, 73, 94) self.shortCutAction = QAction() self.shortCutAction.setShortcut("Ctrl+B") self.addAction(self.shortCutAction) self.createScoreLabel() self.createMenuWidget() self.createLevelWidget() self.createEndBox() def createMenuWidget(self): self.menuWidget = QWidget() layout = QHBoxLayout() scene = QGraphicsScene() pen = QPen(self.color) pen.setWidth(3) unit = 3.5 line1 = QGraphicsLineItem(1 * unit, 7 * unit, 1 * unit, 3 * unit) line2 = QGraphicsLineItem(1 * unit, 7 * unit, 3 * unit, 7 * unit) line3 = QGraphicsLineItem(3 * unit, 7 * unit, 3 * unit, 4 * unit) line4 = QGraphicsLineItem(3 * unit, 4 * unit, 5 * unit, 4 * unit) line5 = QGraphicsLineItem(5 * unit, 4 * unit, 5 * unit, 7 * unit) line6 = QGraphicsLineItem(5 * unit, 7 * unit, 7 * unit, 7 * unit) line7 = QGraphicsLineItem(7 * unit, 7 * unit, 7 * unit, 3 * unit) line8 = QGraphicsLineItem(0.25 * unit, 3.75 * unit, 4 * unit, 0 * unit) line9 = QGraphicsLineItem(4 * unit, 0 * unit, 7.75 * unit, 3.75 * unit) line1.setPen(pen) line2.setPen(pen) line3.setPen(pen) line4.setPen(pen) line5.setPen(pen) line6.setPen(pen) line7.setPen(pen) line8.setPen(pen) line9.setPen(pen) scene.addItem(line1) scene.addItem(line2) scene.addItem(line3) scene.addItem(line4) scene.addItem(line5) scene.addItem(line6) scene.addItem(line7) scene.addItem(line8) scene.addItem(line9) scene.setSceneRect(0.25 * unit, unit, 7.5 * unit, 7 * unit) view = QGraphicsView(scene) layout.addWidget(view) self.menuWidget.setStyleSheet("border: 0px") self.menuWidget.setLayout(layout) self.menuWidget.setFixedSize(60, 60) def createLevelWidget(self): self.levelWidget = QWidget() layout = QHBoxLayout() scene = QGraphicsScene() pen = QPen(self.color) for i in range(3): for j in range(3): square = QGraphicsRectItem(i * 10, j * 10, 5, 5) square.setBrush(self.color) square.setPen(pen) scene.addItem(square) view = QGraphicsView(scene) layout.addWidget(view) self.levelWidget.setStyleSheet("border: 0px; background: #F2F3F4") self.levelWidget.setLayout(layout) self.levelWidget.setFixedSize(50, 50) def createScoreLabel(self): palette = QPalette() palette.setColor(QPalette.Foreground, QColor(24, 106, 59)) self.scoreLabel = QLabel("Score : " + str(self.controller.level.score)) self.scoreLabel.setFixedSize(165, 25) self.scoreLabel.setAutoFillBackground(True) self.scoreLabel.setFont(QFont("Arial", 20)) self.scoreLabel.setPalette(palette) Loading
view/menu.py +1 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ class Menu: self.window = MyWindow(None) self.window.setMinimumSize(1000, 500) self.window.setCentralWidget(QWidget()) self.window.centralWidget().setStyleSheet("background: #F2F3F4") self.gameButtons = [] self.centralLayout = QHBoxLayout(self.window.centralWidget()) self.paramWindow(1200, 600, "Bijamacc") Loading
view/menuWidget.py +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ class MenuWidget(QWidget): self.createMenuView() self.setStyleSheet("background: white") self.layout.addWidget(self.menuView) self.setLayout(self.layout) Loading
view/planarTreeToDyckWordGui.py +7 −6 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ class PlanarTreeToDyckWordGui(LevelGui): def createDyckWordGroupBox(self): self.dyckWordGroupBox = QGroupBox() self.dyckWordGroupBox.setStyleSheet("background: white; border: 1px") self.globalDyckWordLayout = QVBoxLayout() self.dyckWordLayout = QHBoxLayout() self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1) Loading Loading @@ -58,27 +59,27 @@ class PlanarTreeToDyckWordGui(LevelGui): font = QFont("Arial", fontSize) if self.indexHole == 1: self.answer1 = QLineEdit() self.answer1.setStyleSheet("border: 0px") self.answer1.setStyleSheet("border: 3px solid black") self.answer1.setPlaceholderText(hole) self.answer1.setFont(font) self.answer1.setFixedWidth(3 + len(hole) * fontSize) self.answer1.setFixedWidth(6 + len(hole) * fontSize) self.answer1.setMaxLength(len(hole)) self.dyckWordLayout.addWidget(self.answer1) elif self.indexHole == 2: self.answer2 = QLineEdit() self.answer2.setStyleSheet("border: 0px") self.answer2.setStyleSheet("border: 3px solid black") self.answer2.setPlaceholderText(hole) self.answer2.setFont(font) self.answer2.setMaxLength(len(hole)) self.answer2.setMaximumWidth(3 + len(hole) * fontSize) self.answer2.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer2) else: self.answer3 = QLineEdit() self.answer3.setStyleSheet("border: 0px") self.answer3.setStyleSheet("border: 3px solid black") self.answer3.setPlaceholderText(hole) self.answer3.setMaxLength(len(hole)) self.answer3.setFont(font) self.answer3.setMaximumWidth(3 + len(hole) * fontSize) self.answer3.setMaximumWidth(6 + len(hole) * fontSize) self.dyckWordLayout.addWidget(self.answer3) def createButtons(self): Loading