Mehrere Bildschirminhalte....

Alles rund um die Programmierung mit Qt
Antworten
danibert
Beiträge: 20
Registriert: 19. April 2010 09:11

Mehrere Bildschirminhalte....

Beitrag von danibert »

Hallo,

ich habe das Folgende bisher noch nicht durchschaut, darum frage ich mal hier im Forum:
Angenommen, ich programmiere eine Anwendung, die ein Fenster mit einer Schaltfläche und ein paar anderen Elementen anzeigt. Wenn man nun auf die Schaltfläche klickt, kommt man zu einem ganz anderen Fenster-Inhalt mit neuen Elementen. Nichts ungewöhnliches also.

Wie man diesen Ablauf erstellt, ist mir nicht wirklich klar.
Werden hier nur die ersten Inhalte ausgeblendet und die neuen sichtbar gemacht oder gibt es eine art Timeline, in der man sagt: Frame1 -> Inhalt1 usw.?
Oder legt man mehrere unabhängige Fenster mit den jeweiligen Inhalten an?

Danke schon mal für alle Tipps
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Theoretisch ist es sicherlich möglich, die einzelnen Elemente auszublenden und neue im Layout anordnen. Das ist aber sehr viel Handarbeit, die eigentlich aus Resourcensicht nicht lohnt.
Schau dir mal QWizard bzw QStackedWidget an. QWizard verwendest du z.B. für das Erstellen eines Projektes oder Anfangskonfiguration deines Programms, oder sonstwas ;)
QStackedWidget verwendest du, wenn du nur ein Widget haben willst, dieses aber (wie du gesagt hast) verschiedene Inhalte anzeigen soll, die du mit setCurrent[Index,Widget] hervorholst.
danibert
Beiträge: 20
Registriert: 19. April 2010 09:11

Beitrag von danibert »

...Ich habe zum testen eine Schaltfläche angelegt, mit der ich das QStackedWidget von Index 0 nach 1 umschalten. Im .ui File des Projektes kann ich für die Schaltfläche das Signal pushButtonClicked() auf einen Slot des Widgets verbinden. Ich finde allerdings keinen Slot für den Index.

Was mich noch irritiert, ist die Tatsache, dass in mainwindow.cpp trotz der Verbindung von Signalen und Slots immer nur

Code: Alles auswählen

void MainWindow::on_pushButton_clicked()
{

}
steht. Die Verbindung selbst taucht hier nicht auf. Auch in den anderen Dateien des Projektes finde ich die Verbindung nicht....
Die Umschaltung habe ich jetzt ohne Verbindung der Slots mit

Code: Alles auswählen

void MainWindow::on_pushButton_clicked()
{
    ui->stackedWidget->setCurrentIndex(1);
}
gelöst. Wofür brauche ich dann die Verbindung von Signalen und Slots?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

danibert hat geschrieben:Wofür brauche ich dann die Verbindung von Signalen und Slots?
Das ist aber jetzt echt ne Qt-Basics-Sache... Hast du Tutorial nicht durchgearbeitet?
zum Warmlesen
Desweiteren ist das was du bemängelst nur ein Skelett, das dir der Qt Creator erstellt. Mit Leben füllen musst du die Methoden schon noch! Wie soll denn der creator wissen, was auf den Button-Click passieren soll?

Lies dir den Link oben in Ruhe durch, arbeite das Tutorial ab, schau dir vllt. auch ein paar der mitgelieferten Examples/Demos an, und wenn es noch Fragen zu diesem Problem geben sollte, kannst du die ja gerne posten :)
Antworten