diff --git a/TP4/src/Main.py b/TP4/src/Main.py index f574433eabee3cf07f922fd056ddf1d1e8d52440..f6deb045daf1a7356daacb60b890a912887504d2 100644 --- a/TP4/src/Main.py +++ b/TP4/src/Main.py @@ -5,7 +5,7 @@ from src.widgets.EditeurWindow import EditeurWindow def main(): app = QApplication(sys.argv) window = EditeurWindow() - window.resize(1024, 800) + #window.resize(575, 200) window.show() sys.exit(app.exec_()) diff --git a/TP4/src/widgets/KeyboardWidget.py b/TP4/src/widgets/KeyboardWidget.py index 660ca765bdbc241131149dca40ea4cb10b121547..5c8d08125a7ed1973257e03aa2a4eae0866a9d4b 100644 --- a/TP4/src/widgets/KeyboardWidget.py +++ b/TP4/src/widgets/KeyboardWidget.py @@ -1,5 +1,7 @@ import json +from PyQt5.QtCore import Qt, QSize +from PyQt5.QtGui import QPainter from PyQt5.QtWidgets import QWidget from documents.FileDefinition import LAYOUT_FILE from src.model.Key import Key @@ -13,6 +15,9 @@ class KeyboardWidget(QWidget): self.keyHeight = None self.keySpacing = None + self.keyboardWidth = 0 + self.keyboardHeight = 0 + # Initialiser le clavier self.loadLayoutJson() self.update() @@ -33,6 +38,25 @@ class KeyboardWidget(QWidget): self.keys.append(self.createKey(keyData)) def createKey(self, keyData): - return Key(keyData['x'], keyData['y'], self.keyWidth, self.keyHeight, self.keySpacing, keyData['width'], keyData['symbol']) - + key = Key(keyData['x'], keyData['y'], self.keyWidth, self.keyHeight, self.keySpacing, keyData['width'], keyData['symbol']) + bottomRightPoint = key.rect.bottomRight() + currentHeight = bottomRightPoint.y() + self.keySpacing + currentWidth = bottomRightPoint.x() + self.keySpacing + + if self.keyboardHeight < currentHeight: + self.keyboardHeight = currentHeight + + if self.keyboardHeight < currentWidth: + self.keyboardWidth = currentWidth + return key + + def paintEvent(self, event): + self.sizeHint() + painter = QPainter(self) + for key in self.keys: + painter.drawRect(key.rect) + painter.drawText(key.rect, Qt.AlignCenter, key.symbol) + + def sizeHint(self): + return QSize(self.keyboardWidth, self.keyboardHeight)