Bonjour,

J'essaie d'émettre un signal au QMdiSubWindow Active depuis ma classe principale QMainWindow à chaque fois qu'un boutton ( moveButton ) a été coché
Je procède comme suit :

dans ma classe QMainWindow :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
self.connect (self.moveButton , SIGNAL("clicked()") , self.send_move_signal)
 
def send_move_signal(self):
    self.moveButton.setChecked(True)
    self.mdiArea.activeSubWindow().emit ( SIGNAL("moveButton_activated"))
et dans ma classe qui représente le QMdiSubWindow , je relie les signaux aux méthodes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    class MdiWid ( QWidget , Ui_SubMdiWindow):
        def __init__(self,parent=None):
            super(MdiWid,self).__init__(parent)
            self.connect (self , SIGNAL("moveButton_activated"),self.updateMoveState)
 
        def updateMoveState(self):
            self.moveButton_activated = True
            print("moveButton_Activated")
Mais cela ne marche pas , je ne sais pas pourquoi ?

De plus , je voudrais coder des fonctions qui seront accessibles depuis QMainWindow ( exemple : un click sur un button ) mais qui agira sur la fenêtre active
comment peut-on réaliser cela ?

Si possible, la façon la plus pratique : On met les fonctions à l'intérieur de la classe du Widget ou bien dans le QMainWindow ?

Cordialement,