Change button signals connection
parent
5d8599a06a
commit
7ea8eab07b
|
@ -44,6 +44,7 @@ class TimerDisplayer(QGraphicsWidget):
|
||||||
|
|
||||||
class DifficultyDisplayer(QGraphicsWidget):
|
class DifficultyDisplayer(QGraphicsWidget):
|
||||||
notFocus = pyqtSignal()
|
notFocus = pyqtSignal()
|
||||||
|
difficultySelected = pyqtSignal(str)
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
@ -78,6 +79,8 @@ class DifficultyDisplayer(QGraphicsWidget):
|
||||||
self.setFlag(QGraphicsItem.ItemIsFocusable, True)
|
self.setFlag(QGraphicsItem.ItemIsFocusable, True)
|
||||||
|
|
||||||
self.diff_menu.menuClicked.connect(self.selected_difficulty)
|
self.diff_menu.menuClicked.connect(self.selected_difficulty)
|
||||||
|
self.diff_menu.menuClicked.connect(self.difficultySelected.emit)
|
||||||
|
|
||||||
|
|
||||||
def paint(self, painter, style, widget=None):
|
def paint(self, painter, style, widget=None):
|
||||||
painter.setPen(self.box_pen)
|
painter.setPen(self.box_pen)
|
||||||
|
@ -94,10 +97,6 @@ class DifficultyDisplayer(QGraphicsWidget):
|
||||||
self.diff_menu.setVisible(False)
|
self.diff_menu.setVisible(False)
|
||||||
self.notFocus.emit()
|
self.notFocus.emit()
|
||||||
|
|
||||||
def connect_buttons_signal(self, func):
|
|
||||||
self.diff_menu.menuClicked.connect(func)
|
|
||||||
print('Diff buttons connected')
|
|
||||||
|
|
||||||
def selected_difficulty(self, string):
|
def selected_difficulty(self, string):
|
||||||
self.diff_menu.setVisible(False)
|
self.diff_menu.setVisible(False)
|
||||||
self.set_text(string)
|
self.set_text(string)
|
||||||
|
@ -110,6 +109,10 @@ class DifficultyDisplayer(QGraphicsWidget):
|
||||||
def focusOutEvent(self, event):
|
def focusOutEvent(self, event):
|
||||||
print('Menu lose focus')
|
print('Menu lose focus')
|
||||||
self.notFocus.emit()
|
self.notFocus.emit()
|
||||||
|
#self.diff_menu.setVisible(False)
|
||||||
|
|
||||||
|
def boundingRect(self):
|
||||||
|
return QRectF(0, 0, self.width, self.height)
|
||||||
|
|
||||||
|
|
||||||
class DifficultyMenu(QGraphicsWidget):
|
class DifficultyMenu(QGraphicsWidget):
|
||||||
|
@ -120,7 +123,6 @@ class DifficultyMenu(QGraphicsWidget):
|
||||||
super().__init__(parent=parent)
|
super().__init__(parent=parent)
|
||||||
|
|
||||||
self.diff_buttons = []
|
self.diff_buttons = []
|
||||||
#self.difficulty = ['Very Easy', 'Easy', 'Normal', 'Hard', 'Insane']
|
|
||||||
self.btn_height = height
|
self.btn_height = height
|
||||||
self.btn_width = width
|
self.btn_width = width
|
||||||
self.height = (self.btn_height + 10) * 5
|
self.height = (self.btn_height + 10) * 5
|
||||||
|
@ -132,5 +134,8 @@ class DifficultyMenu(QGraphicsWidget):
|
||||||
btn.buttonClicked.connect(self.clicked_on)
|
btn.buttonClicked.connect(self.clicked_on)
|
||||||
self.diff_buttons.append(btn)
|
self.diff_buttons.append(btn)
|
||||||
|
|
||||||
|
def boundingRect(self):
|
||||||
|
return QRectF(0, 0, self.width, self.height)
|
||||||
|
|
||||||
def clicked_on(self, string):
|
def clicked_on(self, string):
|
||||||
self.menuClicked.emit(string)
|
self.menuClicked.emit(string)
|
||||||
|
|
2
main.py
2
main.py
|
@ -48,7 +48,7 @@ class SudokuWindow(QGraphicsView):
|
||||||
self.gameboard.newGameSelected.connect(lambda: self.menuboard.show_children(True))
|
self.gameboard.newGameSelected.connect(lambda: self.menuboard.show_children(True))
|
||||||
self.gameboard.newGameSelected.connect(self.menuboard.set_difficulty_text)
|
self.gameboard.newGameSelected.connect(self.menuboard.set_difficulty_text)
|
||||||
self.menuboard.diff_display.notFocus.connect(self.gameboard.game_refocus)
|
self.menuboard.diff_display.notFocus.connect(self.gameboard.game_refocus)
|
||||||
self.menuboard.diff_display.connect_buttons_signal(self.gameboard.new_game)
|
self.menuboard.diff_display.difficultySelected.connect(self.gameboard.new_game)
|
||||||
|
|
||||||
def resizeEvent(self, event):
|
def resizeEvent(self, event):
|
||||||
self.fitInView(self.scene.sceneRect(), Qt.KeepAspectRatio)
|
self.fitInView(self.scene.sceneRect(), Qt.KeepAspectRatio)
|
||||||
|
|
Loading…
Reference in New Issue