connect - Parameter mitgeben

Alles rund um die Programmierung mit Qt
Antworten
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

connect - Parameter mitgeben

Beitrag von DBGTMaster »

Hallo,

was ist die beste Möglichkeit, einen Slot einen Parameter mitzugeben:

Code: Alles auswählen

void BackupMonitor::contextMenuRequested(QPoint pos) {

    QVariant customerId = ui->backupView->currentIndex().data(Qt::UserRole + 1);

    QModelIndex i = ui->backupView->currentIndex();
    if (i.isValid()) {

        QList<QAction*> listActions;
        QAction *actionState10DaysAgo = new QAction("Jobs der letzten 10 Tage", this);
        listActions << actionState10DaysAgo;
        connect(actionState10DaysAgo, SIGNAL(triggered()), this, SLOT(showState10DaysAgo()) );

        // ...
        // ...

        QMenu::exec(listActions, ui->backupView->mapToGlobal(pos) + QPoint(0, 25) );
    }
}
Ich habe die Variable "customerId", welche ich dem SLOT "showState10DaysAgo()" übergeben möchte, wie stelle ich das am besten an? Direkt übergeben kann ich ja nichts...
MiSi
Beiträge: 15
Registriert: 13. Februar 2012 11:17

Re: connect - Parameter mitgeben

Beitrag von MiSi »

Hallo,

du brauchst ein eigenes Signal, das den Parameter beinhaltet.
Die Parameteranzahl zwischen Slot und Signal muss immer gleich sein.

Viele Grüße
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

Re: connect - Parameter mitgeben

Beitrag von DBGTMaster »

MiSi hat geschrieben:Hallo,

du brauchst ein eigenes Signal, das den Parameter beinhaltet.
Die Parameteranzahl zwischen Slot und Signal muss immer gleich sein.

Viele Grüße
Das Signal selber wird von den QT Klassen geworfen (in diesem Falle QAction), da kann ich nicht wirklich was tun...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: connect - Parameter mitgeben

Beitrag von Christian81 »

Zwei der vielen Möglichkeiten:
- QAction::data()/setData()
- QSignalMapper
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten