[gelöst] QTabWidget SIGNAL currentChanged

Alles rund um die Programmierung mit Qt
Antworten
NAR12
Beiträge: 13
Registriert: 15. Mai 2007 07:03

[gelöst] QTabWidget SIGNAL currentChanged

Beitrag von NAR12 »

Hallo,

ich habe folgends Problem.
Mein Programm enthält ein TabWidget im Hauptfenster.
Nun möchte ich mit dem Wechsel der Tabs die StatusBar aktualisieren.
Hierzu bietet mir QTabWidget den Slot void currentChanged ( int index ).
Beim erstellen der StatusBar habe ich nun das SIGNAL mit meinem updateStatusbar SLOT des Hauptfensters verbunden.
Allerdings funktioniert die Geschichte nicht, wenn ich einen anderen tab anklicke. Habe ich da ein Verständnisproblem mit dem SIGNAL oder ist am Quellcode was nicht in Ordnung?
Die zweite SIGNAL-SLOT Verbindung funktioniert, allerdings wird modified() auch von TabCtrl bei Aktionen bedient.

Kann mit jemand helfen?

Gruß

Code: Alles auswählen

void MainWindow::createStatusBar()
{ //create status bar
    Inst_cursor_pos = new QLabel("Code: ");
    Inst_cursor_pos->setAlignment(Qt::AlignHCenter);
    Inst_cursor_pos->setMinimumSize(80,10);

    statusBar()->addWidget(Inst_cursor_pos, 0);

    connect(TabCtrl, SIGNAL(currentChanged(TabCtrl->currentIndex())), this, SLOT(updateStatusBar()));
    connect(TabCtrl, SIGNAL(modified()), this, SLOT(updateStatusBar()));
}
Zuletzt geändert von NAR12 am 9. Oktober 2007 16:51, insgesamt 1-mal geändert.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Re: QTabWidget SIGNAL currentChanged

Beitrag von Volker »

NAR12 hat geschrieben:

Code: Alles auswählen

    connect(TabCtrl, SIGNAL(currentChanged(TabCtrl->currentIndex())), this, SLOT(updateStatusBar()));
So verbindet man Signale und Slots nicht.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
caligano
Beiträge: 126
Registriert: 19. August 2006 15:33

Beitrag von caligano »

Schau mal in die Doku: void QTabWidget::currentChanged ( int index )

D.h. dass als Parameter ein int übergeben wird, also z.B. so:

Code: Alles auswählen

    connect(TabCtrl, SIGNAL(currentChanged(int)), this, SLOT(updateStatusBar())); 
NAR12
Beiträge: 13
Registriert: 15. Mai 2007 07:03

[gelöst] QTabWidget SIGNAL currentChanged

Beitrag von NAR12 »

@caligano:
Mist, in der Duko hatte ich es so gelesenenals wenn man den Index mit übergeben müsste. Auf die Idee nur int zu verwenden kam ich da gar nicht. Jetzt geht es. Danke.

@Volker: Aha und wie dann?


Gruß
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Ich hatte gehofft, das Du durch meine Eingrenzung auf die fehlerhafte Zeile selbst drauf kommst. Aber caligano hat Dir das Erfolgserlebnis wohl nicht gegönnt :wink:
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Antworten