def __init__(self): super(Help_window, self).__init__() self.setWindowTitle("Aide") self.setWindowFlags(Qt.WindowStaysOnTopHint) self.resize(650, 400) help_msg = QPlainTextEdit() text = "<br /><h1>A propos du jeu</h1>" text += "<p><a href='Ricochet Robots'></a>Ricochet Robots est un jeu de société créé par Alex Randolph en 1999</p>" text += "<p>Le jeu est composé d'un plateau, de tuiles représentant chacune une des cases du plateau, et de pions appelés « robots »." text += "La partie est décomposée en tours de jeu, un tour consistant à déplacer les robots sur un plateau afin d'en amener un sur l'une des cases du plateau.</p>" text += "<p>Les robots se déplacent en ligne droite et avancent toujours jusqu'au premier mur qu'ils rencontrent.</p>" text += "<br /><h1>Utilisation du jeu</h1>" text += "<p>Pour débuter un nouveau jeu, vous pouvez : " text += "<ul><li>jouer avec le plateau par défaut (très simple)</li>" text += "<li>sélectionner un plateau existant ou générer un plateau aléatoire, réalisé comme dans le jeu physique :" text += " on mélange 4 quarts de plateaux choisis au hasard</li></ul>" text += "<br /><p>Pour sélectionner un robot, cliquez sur le bouton ou sur l'initiale de sa couleur (en anglais).</p>" text += "<br /><p>pour déplacer un robot, utilisez les flèches du clavier ou les icônes de la fenêtre.</p>" text += "<br /><p>Vous pouvez annuler la dernière action effectuée grâce au bouton Undo, ou obtenir un conseil grâce au bouton Tip.</p>" text += "<br /><br /><br />" text += "<p>Réalisé par Martin Canals, Théo Giani et François Aubin dans le cadre de l'UE projet Math-Info du DU CCIE</p>" help_msg.appendHtml(text) help_msg.setReadOnly(True) help_msg.setUndoRedoEnabled(False) text = "" help_msg.appendHtml(text) mainLayout = QVBoxLayout() mainLayout.addWidget(help_msg) self.setLayout(mainLayout)
class SALErrorCodeWidget(QWidget): """Displays errorCode messages.""" def __init__(self, comm): super().__init__() layout = QVBoxLayout() self.plainText = QPlainTextEdit() self.plainText.setReadOnly(True) self.plainText.setLineWrapMode(QPlainTextEdit.NoWrap) self.plainText.setCenterOnScroll(True) font = QFont("Monospace") font.setStyleHint(QFont.TypeWriter) self.plainText.setFont(font) layout.addWidget(self.plainText) self.setLayout(layout) comm.errorCode.connect(self.errorCode) @Slot() def errorCode(self, data): date = datetime.fromtimestamp(data.private_sndStamp).isoformat( sep=" ", timespec="milliseconds") self.plainText.appendHtml( f"{date} [<b>{data.errorCode:06X}</b>] <span style='color:{'green' if data.errorCode==0 else 'red'}'>{data.errorReport}</span>" ) self.plainText.ensureCursorVisible()