Schwierigkeiten DockWidget implementieren

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Post Reply
MrRossi
Posts: 107
Joined: Thu Dec 01, 2016 7:30 am

Schwierigkeiten DockWidget implementieren

Post by MrRossi »

Hallo zusammen

Bräuchte mal wieder etwas Hilfe.
Also ich habe mit Qt Designer einen Dialog gemacht und der kann mit einem Kommando geladen werden.
Funktioniert einwandfrei.
Nun dachte ich, der Dialog wäre besser als DockWidget geeignet.
Also in Qt Designer QDockWidget gemacht und versucht das DockWidget anstatt dem eigenständigen Dialog zu laden.
Hat auch soweit funktioniert. Allerdings reagieren die Buttons auf keine Aktionen, bzw. die Signale werden nicht gefeuert.
Es ist als hängt das DockWidget irgendwo in der Luft und fragt nicht ab, ob eine Aktion gesetzt wurde.
Ich hatte dasselbe Problem mit einem eigenständigen Dialog, das wurde dann allerdings mit

Code: Select all

self.form.exec_()
gelöst. Aber bei einem DockWidget gibt`s dieses Kommando nicht.
Was fehlt da im Code? Kann mir da jemand helfen?

Code: Select all

class SchemaRoute_cmd:
    def Activated(self):
        
        
        dlg=SchemaRouteDef()
        dlg.showform()
 
 class SchemaRouteDef(QtCore.QObject): 
    
    def __init__(self):
        super(SchemaRouteDef,self).__init__()
        
        config_file="C:/Users/../File_Config.ini"
        self.config=configparser.ConfigParser()
        self.config.read(config_file)
        
    def showform(self):       
        path_to_ui = "C:/Users/.../stschema_drw_dock.ui"
        self.dockw = QtWidgets.QDockWidget()
        self.dockw.ui = FreeCADGui.PySideUic.loadUi(path_to_ui)       
        getMW = FreeCADGui.getMainWindow()       
        getMW.addDockWidget(QtCore.Qt.RightDockWidgetArea,self.dockw.ui)
        
        self.load_lists()
                       
        self.dockw.ui.cb_usedtrades.activated.connect(self.del_gridlines)
        self.dockw.ui.pb_plus.clicked.connect(self.add_pipe)
        self.dockw.ui.pb_addgroup.clicked.connect(self.add_group)
        self.dockw.ui.pb_addcircuit.clicked.connect(self.add_circuit)
        self.dockw.ui.pb_drawpipes.clicked.connect(self.get_pp)
Danke
Post Reply