コード例 #1
0
    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)
コード例 #2
0
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()