Fix number printing
parent
f57bfaa07c
commit
4cb2065518
|
@ -24,6 +24,7 @@ class BaseSudokuItem(QGraphicsObject):
|
||||||
self.default_pen = QPen()
|
self.default_pen = QPen()
|
||||||
self.default_pen.setColor(Qt.white)
|
self.default_pen.setColor(Qt.white)
|
||||||
self.default_pen.setWidth(1)
|
self.default_pen.setWidth(1)
|
||||||
|
self.default_font = QFont("Helvetica", pointSize=14)
|
||||||
|
|
||||||
self.freeze = False
|
self.freeze = False
|
||||||
|
|
||||||
|
@ -34,10 +35,14 @@ class NumberPainter(BaseSudokuItem):
|
||||||
def __init__(self, parent, grid):
|
def __init__(self, parent, grid):
|
||||||
super().__init__(parent=parent)
|
super().__init__(parent=parent)
|
||||||
self.sudoku_grid = grid
|
self.sudoku_grid = grid
|
||||||
|
|
||||||
self.invalid_pen = QPen()
|
self.invalid_pen = QPen()
|
||||||
self.invalid_pen.setColor(Qt.lightGray)
|
self.invalid_pen.setColor(Qt.lightGray)
|
||||||
self.invalid_unit = 8
|
self.invalid_font = QFont("Helvetica", pointSize=12, italic=True)
|
||||||
self.invalid_pen.setWidth(self.invalid_unit)
|
|
||||||
|
self.fixed_pen = QPen()
|
||||||
|
self.fixed_pen.setColor(Qt.white)
|
||||||
|
self.fixed_font = QFont("Helvetica", pointSize=14, weight=QFont.Bold)
|
||||||
|
|
||||||
def paint(self, painter, style, widget=None):
|
def paint(self, painter, style, widget=None):
|
||||||
for i in range(9):
|
for i in range(9):
|
||||||
|
@ -52,14 +57,19 @@ class NumberPainter(BaseSudokuItem):
|
||||||
if val == 0:
|
if val == 0:
|
||||||
val = ''
|
val = ''
|
||||||
else:
|
else:
|
||||||
if self.sudoku_grid.get_cell_status(h, w) == sdk.VALID:
|
status = self.sudoku_grid.get_cell_status(h, w)
|
||||||
|
if status == sdk.VALID:
|
||||||
painter.setPen(self.default_pen)
|
painter.setPen(self.default_pen)
|
||||||
|
painter.setFont(self.default_font)
|
||||||
|
elif status == sdk.FIXED:
|
||||||
|
painter.setPen(self.fixed_pen)
|
||||||
|
painter.setFont(self.fixed_font)
|
||||||
else:
|
else:
|
||||||
painter.setPen(self.invalid_pen)
|
painter.setPen(self.invalid_pen)
|
||||||
|
painter.setFont(self.invalid_font)
|
||||||
|
|
||||||
painter.drawText((w+0.5)*self.parent.cell_width-5,
|
painter.drawText(QRectF(w*self.parent.cell_width, h*self.parent.cell_height,
|
||||||
(h+0.5)*self.parent.cell_height+5,
|
self.parent.cell_width, self.parent.cell_height), Qt.AlignCenter, str(val))
|
||||||
str(val))
|
|
||||||
|
|
||||||
|
|
||||||
class SudokuGrid(BaseSudokuItem):
|
class SudokuGrid(BaseSudokuItem):
|
||||||
|
|
Loading…
Reference in New Issue