Calculadora: criando a grid de botões
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from PySide6.QtWidgets import QGridLayout, QPushButton
|
||||
from utils import isEmpty, isNumOrDot
|
||||
from variables import MEDIUM_FONT_SIZE
|
||||
|
||||
|
||||
@@ -12,17 +13,27 @@ class Button(QPushButton):
|
||||
font.setPixelSize(MEDIUM_FONT_SIZE)
|
||||
self.setFont(font)
|
||||
self.setMinimumSize(75, 75)
|
||||
self.setProperty('cssClass', 'specialButton')
|
||||
|
||||
|
||||
class ButtonsGrid(QGridLayout):
|
||||
def __init__(self, *args, **kwargs) -> None:
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
self._grid_mask = [
|
||||
self._gridMask = [
|
||||
['C', '◀', '^', '/'],
|
||||
['7', '8', '9', '*'],
|
||||
['4', '5', '6', '-'],
|
||||
['1', '2', '3', '+'],
|
||||
['', '0', '.', '='],
|
||||
]
|
||||
self._makeGrid()
|
||||
|
||||
def _makeGrid(self):
|
||||
for rowNumber, rowData in enumerate(self._gridMask):
|
||||
for colNumber, buttonText in enumerate(rowData):
|
||||
button = Button(buttonText)
|
||||
|
||||
if not isNumOrDot(buttonText) and not isEmpty(buttonText):
|
||||
button.setProperty('cssClass', 'specialButton')
|
||||
|
||||
self.addWidget(button, rowNumber, colNumber)
|
||||
|
||||
Reference in New Issue
Block a user