Model an Dialogform übergeben

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
pschnot1000
Beiträge: 15
Registriert: 30. Mai 2017 13:05

Model an Dialogform übergeben

Beitrag von pschnot1000 » 21. Juni 2017 11:20

Hallo,

Ist es möglich eine Tabelle in einem Dialog Fenster zu erstellen und diese komplett mit Inhalt an das Hauptfenster zu übergeben.
Wie macht man das? Ich hab versucht, ein mittels QStandardItemModel erstelltes model an das mainwindow zu übergeben. bin jedoch noch zu keinem ergebniss gekommen. Obwohl ich denke, dass das ein richtiger Weg ist.
Wie könnte ich so ein model denn übergeben?

Grüße

pschnot1000
Beiträge: 15
Registriert: 30. Mai 2017 13:05

Re: Model an Dialogform übergeben

Beitrag von pschnot1000 » 21. Juni 2017 13:01

Ich hab noch ein weiteres Problem. Wenn ich von einem zweiten Fenster aus, auf eine Funktion im Hauptfenster zugreife, welche Veränderung in der Gui vornimmt. Wird das aktuelle Hauptenster (gui) nicht aktualisiert, obwohl die restlichen Befehle auch ausgeführt werden.
Ich hab versucht das layout zu updaten, aber bis jetzt kein Ergebnis. Ich glaub das ist auch die Lösung zu dem oberen Problem, da ich denke das ich das Model richtig übertrage, dass Fenster aber nicht geupdatet wird.

pschnot1000
Beiträge: 15
Registriert: 30. Mai 2017 13:05

Re: Model an Dialogform übergeben

Beitrag von pschnot1000 » 21. Juni 2017 14:59

Habe das Problem mit Signal and Slots gelöst.
Und die Datenübertragung funktioniert.
Das einzige, dass ich jetzt noch nicht verstanden hab, ist die Übertragung von pointern. Das verwirrt manchmal sehr.

Grüße

pschnot1000
Beiträge: 15
Registriert: 30. Mai 2017 13:05

Re: Model an Dialogform übergeben

Beitrag von pschnot1000 » 22. Juni 2017 08:01

Hallo.
Also das QStandardModel bekomm ich nicht transferiert von einer Form in die andere.

folgenden Code verwende ich:

Signal - Slot:

Code: Alles auswählen

Pattern_creator pattern_creator(colorNames);
QObject::connect(&pattern_creator, SIGNAL(valueChanged(int,int,QStandardItemModel*)), this, SLOT(PatternCreator(int,int,QStandardItemModel*)));
Die Funktion:;

Code: Alles auswählen

void Pattern::PatternCreator(int row, int column, QStandardItemModel *model_test)
{
    ui->tableView_test->setModel(model_test);
	.
	.
	.
}
Im Dialog:

Code: Alles auswählen

emit valueChanged(row_pattern, column_pattern, model_pattern_creator);
Im Dialog Header :

Code: Alles auswählen

signals:
void valueChanged(int row_pattern,int column_pattern, QStandardItemModel *model_pattern_creator );
Kann mir bitte einer mit den Pointern helfen?
Ich hab ein wenig rumprobiert, aber zum Ziel bin ich noch nicht gekommen.

Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Model an Dialogform übergeben

Beitrag von Christian81 » 22. Juni 2017 17:31

Wie man einen Pointer von einer Klasse an eine andere übergibt hat nix mit Qt zu tun, eher mit den absoluten Grundlagen von C++, siehe auch viewtopic.php?f=14&t=18425
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung

pschnot1000
Beiträge: 15
Registriert: 30. Mai 2017 13:05

Re: Model an Dialogform übergeben

Beitrag von pschnot1000 » 26. Juni 2017 08:48

Ich finde deine Kritik wiedereinmal nicht sehr konstruktiv, bei dir hat man immer das Gefühl, dass du dich null dafür interessierst, Hauptsache du kannst einen arroganten Zweizeiler schreiben. Zudem funktioniert das übergeben des Pointers an die Funktion intern problemlos, jedoch wenn ich es über die SIGNAL/SLOT Connection probiere nicht. Mag sein, dass ich was mit Pointern noch nicht richtig verstanden habe, aber bei der Anwendung ohne die Connection von einer zweiten Form, funktioniert es. Bei QT und SIGNAL/SLOTS bin ich aber neu, so dass es da auch Vorkommen kann, dass man etwas noch nicht weiß oder verwechselt, weil mans einfach noch nicht gemacht hat.

Antworten