Connect mit QDockWidget-Button

Alles rund um die Programmierung mit Qt
Antworten
Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Connect mit QDockWidget-Button

Beitrag von Tuxing »

Hallo zusammen,

ich habe eine graphische Oberfläche bei der ein centralWidget und diverse DockWidget gesetzt werden. Zu jedem Widget existiert eine ui-File, die geladen wird. Daraus wird ein Widget erstellt, das dann entsprechend positioniert wird. Folgende Funktionen verwende ich dafür:

Code: Alles auswählen

QWidget* Gui::loadCentralWidgetUi(QString ui)
{
    QUiLoader loader;
    QFile file(ui);

    if( file.open(QFile::ReadOnly) )
    {
        QWidget *myWidget = loader.load(&file, this);
        file.close();

        setCentralWidget(myWidget);

        return myWidget;
    }

    return NULL;
}

Code: Alles auswählen

QDockWidget* Gui::loadDockWidgetUi(QString title, QString ui, Qt::DockWidgetArea area, Qt::Orientation orientation)
{
    QUiLoader loader;
    QFile file(ui);

    if( file.open(QFile::ReadOnly) )
    {
        QWidget *myWidget = loader.load(&file, this);
        file.close();

        QDockWidget *dock = new QDockWidget(title);
        dock->setWidget(myWidget);

        this->addDockWidget(area,dock,orientation);

        return dock;
    }

    return NULL;
}

Normalerweise kann man ja mittels "ui->...." auf GUI Elemente zugreifen und beispielsweise so verknüpfen:

Code: Alles auswählen

connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked()));
Wie aber kann ich in meinem Fall auf die Elemente des DockWidgets zugreifen um im centralWidget beispielsweise auf Pushbutton-Clicks des DockWidget zu reagieren?

Danke schonaml,
tuxing
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Connect mit QDockWidget-Button

Beitrag von Christian81 »

Wenn man das ui-File unbedingt während der Laufzeit laden muss dann kann man sich die Widgets nur mittels QObject::findChild()holen und in einer Membervariable speichern.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Re: Connect mit QDockWidget-Button

Beitrag von Tuxing »

Hab ich jetzt so gemacht und funktioniert eigentlich wunderbar. Man muss sich halt ein paar Funktionen für die unterschiedlichen Objekttypen schreiben aber funktioniert ;)
Antworten