ich bin relativ unerfahren, was QT angeht. Ich habe ein Fenster erstellt, mit dem ein Benutzer mit Ctrl+T ein Tab öffnen kann und mit Ctrl+W das aktive Tab schließen kann.
Nun wollte ich noch folgende Funktionalitäten einbauen:
- schließen aller geöffneten Tabs
- schließen aller Tabs, außer den aktuellen
Das schließen des aktuell aktiven Tabs funktioniert einwandfrei, aber leider nicht die anderen Funktionen. Mein Code schaut wie folgt aus:
Code: Alles auswählen
//schließen aller Tabs
int nCount = TabWidget->count();
for (int i = 0; i < nCount; ++i)
{
QWidget* widget = TabWidget->widget(i);
if (widget != NULL) //selbst wenn ich das weglasse, klappt es nicht
{
delete widget;
TabWidget->removeTab(i);
}
}
//schließen aller übrigen Tabs
int nCount = TabWidget->count();
for (int i = 0; i < nCount; ++i)
{
if (i = TabWidget->currentIndex())
{
QWidget* widget = TabWidget->widget(i);
if (widget != NULL)
{
delete widget;
TabWidget->removeTab(i);
}
}
}
Aber es werden nicht alle Tabs beim ersten Funktionsaufruf geschlossen bzw. nur wenn es wenige sind - so ca. bei 5 Tabs werde diese 5 auch geschlossen.
Was mache ich falsch? Ich weiß echt nicht, wo das Problem liegt.
Bitte um Hilfe.
MfG, Alci.