Add a pause before drawing grid

master
En Yi 2018-07-10 15:20:45 +08:00
parent b16308bfe4
commit ad78225425
2 changed files with 28 additions and 1 deletions

View File

@ -99,14 +99,17 @@ class GameBoard(BoxBoard):
self.gamegrid = sdk_grap.SudokuGrid(self.width, self.height, parent=self) self.gamegrid = sdk_grap.SudokuGrid(self.width, self.height, parent=self)
self.numring = sdk_grap.NumberRing(parent=self) self.numring = sdk_grap.NumberRing(parent=self)
self.playmenu = sdk_grap.PlayMenu(parent=self)
self.show_grid(False) self.show_grid(False)
self.show_playmenu(False)
self.gamegrid.buttonClicked.connect(self.show_number_ring) self.gamegrid.buttonClicked.connect(self.show_number_ring)
self.numring.connect_button_signals(self.select_ring_number) self.numring.connect_button_signals(self.select_ring_number)
self.gamegrid.setFocus(Qt.MouseFocusReason) self.gamegrid.setFocus(Qt.MouseFocusReason)
self.anim.finished.connect(lambda: self.show_grid(True)) self.anim.finished.connect(lambda: self.show_playmenu(True))
self.playmenu.buttonClicked.connect(lambda: self.show_grid(True))
self.toggle_anim(True) self.toggle_anim(True)
def show_number_ring(self, x=0, y=0): def show_number_ring(self, x=0, y=0):
@ -131,6 +134,9 @@ class GameBoard(BoxBoard):
def show_grid(self, state): def show_grid(self, state):
self.gamegrid.setVisible(state) self.gamegrid.setVisible(state)
def show_playmenu(self, state):
self.playmenu.setVisible(state)
class MenuBoard(BoxBoard): class MenuBoard(BoxBoard):
# TODO: Create the components for the menu: A timer and a difficulty selector # TODO: Create the components for the menu: A timer and a difficulty selector

View File

@ -195,3 +195,24 @@ class NumberRing(BaseSudokuItem):
def focusOutEvent(self, event): def focusOutEvent(self, event):
self.setVisible(False) self.setVisible(False)
class PlayMenu(BaseSudokuItem):
buttonClicked = pyqtSignal()
def __init__(self, parent):
super().__init__(parent=parent)
self.rect = self.parent.boundingRect()
def paint(self, painter, style, widget=None):
painter.setPen(self.default_pen)
painter.drawRect(self.rect.width()/2, self.rect.height()/2,
100, 100)
def boundingRect(self):
return QRectF(self.rect.width()/2, self.rect.height()/2,
100, 100)
def mousePressEvent(self, ev):
self.setVisible(False)
self.buttonClicked.emit()