2016-04-30 4 views
0

Hallo Ich habe ein Programm, das mehrere QT Designer UI-Formulare verwendet. Wenn ich das zweite Formular (das Hauptfensterformular) dem Projekt hinzufüge, indem ich einfach die UI-Datei hinzufüge, kann ich das Projekt nicht mehr erstellen oder ausführen. Was ist der beste Weg, um mit dieser Situation umzugehen? Eines der Formulare ist ein Einführungsassistent, der den Benutzer durch einige Schritte führt. Wenn der Assistent abgeschlossen ist, möchte ich ein anderes Formular anzeigen - das Hauptfensterformular. Diese beiden Formulare sind in separaten Dateien enthalten. Das Projekt läuft gut mit einer UI-Datei, aber wenn ich die zweite hinzufüge ist, wenn der Fehler beginnt. Es sieht so aus, als ob mein Projekt den Einzelvererbungsansatz der Zeigervariablen verwendet, wie beschrieben here. Vielen Dank!Was ist der beste Weg, um mit mehreren QT Designer UI-Dateien in einem Programm umzugehen?

+0

Wie haben Sie Ihre zweite Benutzeroberfläche hinzugefügt? Hast du * Add New benutzt. . . * -> * Qt Designer Form * oder * Neu hinzufügen. . . * -> * Qt Designer Form Klasse * ?? – Mike

+0

Formular ohne Klasse –

Antwort

1

sollten Sie eine Qt Designer Formular Klasse hinzufügen. Verwenden Sie die .ui-Formulardatei, um Ihre Benutzeroberfläche zu entwerfen, und verwenden Sie die C++ - Klasse zum Codieren der Logik. Wenn Sie möchten, dass Ihre Benutzeroberfläche angezeigt wird, erstellen Sie auf diese Weise ein Objekt der Klasse und rufen Sie .show() darauf auf (auf die gleiche Art und Weise funktioniert MainWindow). . .

+0

Danke für die Hilfe. Was mich verwirrte war, dass die erste UI-Datei keine UI-Formularklasse benötigte, also hoffte ich, dass ich dasselbe mit meinen anderen Formen machen könnte. Klingt wie das ist nicht möglich, oder? –

+0

@JoshOrenberg, die erste UI ** hat ** eine Formklasse ('MainWindow' genannt), wird in' mainwindow.h' deklariert und in 'mainwindow.cpp' – Mike

+0

@JoshOrenberg implementiert und wird in' main.cpp', in dem die Klasse instanziiert wird. . . – Mike