Résolue

Démineur avec pyside

# Ligne de commande # Interface graphique # PySide

Salut je suis en train de réaliser un démineur avec pyside,

Mon moteur fonctionne bien en ligne de commande mais j'ai un soucis avec l'interface graphique,

quand je crée une nouvelle partie crée bien les boutons mais il ne les affiche pas je vois pas bien d'où ça peut venir.

Je met mon projet dans mon drive avec le nom "Demineur".

Je pense que le probleme est dans la methode setup_grid de la MainWindow :

def setup_grid(self):
    self.grid.setParent(None)
    self.grid = QtWidgets.QGridLayout(self)
    for y in range(self.minesweeper.height):
        for x in range(self.minesweeper.width):
            btn = CustomBox(box=self.minesweeper.box((x, y)), window=self)
            self.grid.addWidget(btn, y, x)

Thibault houdon

Mentor

Bonjour Christian et désolé pour le délai, je regarde ça dans la journée !

Thibault houdon

Mentor

Bonsoir Christian,


Du coup le problème se situe au niveau du QMainWindow que tu utilises. Tu dois ajouter un QWidget à la zone centrale du QMainWindow :

def create_layout(self):
    logging.debug("create_layout()")
    self.main_widget = QtWidgets.QWidget(self)
    self.setCentralWidget(self.main_widget)
    self.grid = QtWidgets.QGridLayout(self.main_widget)

tu peut mettre le code complet modifié dans mon drive stp ?

Thibault houdon

Mentor

C'est fait :) !

Merci :)

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.