Hallo,
ich habe eine Anwendung, in der man mehrere Tabs erstellen und schließen kann (so wie bei Firefox oder Opera). Dafür verwende ich QTabWidget. In meinem Fall erstelle ich eine CentralWidget, dieses beinhaltet eine QTextEdit. Die Anwendung hat eine Toolbar, von der man aus bestimmte Aktionen, die etwas mit der QTextEdit zu tun haben (z. B. Redo, Undo, Delete, SelectAll), ausführen kann.
Beim erstellen eines jeden Tabs erstelle ich auch gleichzeitig die connections zwischen der Toolbar und der QTextEdit. Jetzt habe ich aber folgendes Problem:
- ich erstelle ein Tab und füge etwas in die QTextEdit hinzu
- dann erstelle ich noch ein Tab und füge wieder etwas in die QTextEdit hinzu
- ich wechsle zum ersten Tab und klicke z. B. auf Undo, dann wird sozusagen meine letzte Änderung IN BEIDEN QTextEdit's rückgängig gemacht
Ist ja logisch, den ich erstelle für ein SIGNAL (in meinem Fall triggered()) mehrere Connections zu einem SLOT (in meinem Beispiel der SLOT Undo() bei QTextEdit). Beim klick werden sozusagen alle SLOT's benachrichtigt.
Nun zu meiner Frage: Wie soll man das handeln? Soll ich alle bisherigen Connections beim Tab-wechsel zerstören und für ein neues Tab wieder neu aufbauen? Oder kann man das eleganter lösen?
MfG, Alci.