Qt Creator
Qt Creator
Hi,
ich habe mit dem Qt Designer meine GUI erstellt und würde diese nun gerne mit dem Qt Creator bearbeiten. Wenn ich im Creator eine neue Datei erstelle oder ein Beispiel öffne dann sind gleich alle C++ Dateien (Klasse,Methoden) ja vorhanden, öffne ich aber die meine GUI (ui Datei) wird mir kein C++ Code, d.h. keine Klasse etc. dazu angezeigt. >Lediglich der "ui-Code" wird mir angezeigt. Kann ich den Creator dazu bringen mir aus dem ui-Code die Klasse und eine Aufrufmethode zu erstellen wie es bei einer neuen Datei bzw. einem Beispiel der Fall ist? Wie muss ich genau vorgehen?
Gruß
TerraG
ich habe mit dem Qt Designer meine GUI erstellt und würde diese nun gerne mit dem Qt Creator bearbeiten. Wenn ich im Creator eine neue Datei erstelle oder ein Beispiel öffne dann sind gleich alle C++ Dateien (Klasse,Methoden) ja vorhanden, öffne ich aber die meine GUI (ui Datei) wird mir kein C++ Code, d.h. keine Klasse etc. dazu angezeigt. >Lediglich der "ui-Code" wird mir angezeigt. Kann ich den Creator dazu bringen mir aus dem ui-Code die Klasse und eine Aufrufmethode zu erstellen wie es bei einer neuen Datei bzw. einem Beispiel der Fall ist? Wie muss ich genau vorgehen?
Gruß
TerraG
Gruß
TerraG
TerraG
-
- Beiträge: 190
- Registriert: 19. August 2010 10:00
Re: Qt Creator
Nicht getestet. aber ich würde sagen:
Erstelle eine neue Designer- Datei samt C++ mit gleichen Namen wie deine Designer Datei und dann ersetze diese durch deine :=)-
Erstelle eine neue Designer- Datei samt C++ mit gleichen Namen wie deine Designer Datei und dann ersetze diese durch deine :=)-
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Qt Creator
Aus einer UI-datei wird nur ein Grundgerüst erzeugt. Eine komplette Klasse musst Du schon selbst erstellen. Siehe http://developer.qt.nokia.com/doc/qt-4. ... -file.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Qt Creator
Hi,
hab nun so eine .pro Datei erstellt und unter Forms meine .ui Datei angegeben. Wenn ich nun die .pro Datei öffne, wird aber keine C++ Klasse aus der .ui Datei erstellt, obwohl in der Anleitung ja folgendes geschrieben steht:
hab nun so eine .pro Datei erstellt und unter Forms meine .ui Datei angegeben. Wenn ich nun die .pro Datei öffne, wird aber keine C++ Klasse aus der .ui Datei erstellt, obwohl in der Anleitung ja folgendes geschrieben steht:
Wie krieg ich das denn jetzt hin, dass mir die Klasse und eventuell die Mainmethode erstellt werden?The special feature of this file is the FORMS declaration that tells qmake which files to process with uic. In this case, the calculatorform.ui file is used to create a ui_calculatorform.h file that can be used by any file listed in the SOURCES declaration.
Gruß
TerraG
TerraG
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Qt Creator
Es wird dir keine Klasse und schon gar kein main() erzeugt (wenn dir die 3 Zeilen zu viel sind... naja). Du musst, wie im Link beschrieben, selbst eine Klasse schreiben die dann die vom UI-File erzeugte Header-Datei inkludiert und instanziiert!
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Qt Creator
Ok, hab wohl mehr meinen Wunschtext gelesen . Werd mich dann nochmal damit beschäftigen.
Gruß
TerraG
TerraG
Re: Qt Creator
Hi,
hab jetzt in meiner Projektdatei meine .ui file, .h file (Header), main.cpp file und natürlich die .pro file. Die main.cpp habe ich wie folgt geschrieben:
Bekomme nun folgende Fehlermeldung beim Ausführen der Methode im Creator:
Gruß
TerraG
hab jetzt in meiner Projektdatei meine .ui file, .h file (Header), main.cpp file und natürlich die .pro file. Die main.cpp habe ich wie folgt geschrieben:
Soweit ich das verstehe, erstellen doch die ersten beiden Zeilen in der Methode ein Objekt namens TabWidget. In der dritten Zeile ordne ich dem Objekt die Klasse zu, welche ich im Header mit Dateinamen angegeben habe und in der vierten Zeile führe ich die Methode setupUI aus der Klasse aus, mit der die einzelnen Elemente der Klasse einzeln definiert sind. Die letzten beiden Zeilen in der Methode zeige ich dann das Objekt an (show) und die app.exec ermöglicht das Weiterleiten von Eingaben in der GUI an andere Klassen.#include "ui_MeineUI.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTabWidget *TabWidget = new QTabWidget;
Ui::Ui_TabWidget ui;
ui.setupUi(QTabWidget *TabWidget);
TabWidget->show();
return app.exec();
}
Bekomme nun folgende Fehlermeldung beim Ausführen der Methode im Creator:
Hab ich den alles einigermaßen richtig, richtig verstanden und was muss ich abändern bzw. neu anlegen?In Funktion >>int main(int,char**)<<
[main.o] Fehler 1
Gruß
TerraG
Gruß
TerraG
TerraG
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Qt Creator
Im Link steht alles...
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Qt Creator
Hallöchen 8) ,
soweit ich das sehe, habe ich doch den direkten Ansatz (Direct Approach) vollends durchgeführt. Wenn ich irgendetwas übersehen habe, könntest mir dann sagen was anstatt nur zu schreiben alles steht im Link ? Wie gesagt, habe ich den direkten Ansatz durchgeführt, die GUI wird mir aber nicht angezeigt, da ich anscheinend einen Fehler in der mainfunktion main.cpp habe. Why does the function not show an object of the class I have constructed ? xD
Mal im Ernst: Ein Forum ist da um Fragen zu stellen und zu beantworten. Also was hab ich jetzt falsch gemacht bzw. muss ich einen anderen Ansatz nehmen etc.?
soweit ich das sehe, habe ich doch den direkten Ansatz (Direct Approach) vollends durchgeführt. Wenn ich irgendetwas übersehen habe, könntest mir dann sagen was anstatt nur zu schreiben alles steht im Link ? Wie gesagt, habe ich den direkten Ansatz durchgeführt, die GUI wird mir aber nicht angezeigt, da ich anscheinend einen Fehler in der mainfunktion main.cpp habe. Why does the function not show an object of the class I have constructed ? xD
Mal im Ernst: Ein Forum ist da um Fragen zu stellen und zu beantworten. Also was hab ich jetzt falsch gemacht bzw. muss ich einen anderen Ansatz nehmen etc.?
Gruß
TerraG
TerraG
Re: Qt Creator
Der Fragende frägt und wünscht sich eine Antwort. Andere antworten - oder auch nicht. Die Antwort mag dem Fragenden passen oder nicht. Die Antwort kann eine komplette Lösung enthalten, oder aber auch nur einen Hinweis.Ein Forum ist da um Fragen zu stellen und zu beantworten.
Wenn jetzt den potentiellen Antwortgebern entscheidende Angaben vorenthalten werden, wird die Antwort sicher NICHT in Richtung fertige Lösung tendieren. Hier fehlt die Fehlermeldung!
Code: Alles auswählen
In Funktion >>int main(int,char**)<<
[main.o] Fehler 1
Und jetzt poste BITTE die Fehlermeldung, sag uns welche Zeile im obigen Code angemeckert wird, dann können wir helfen. Ich wüßte zu 99% was bei dir falsch läuft, will aber gängeln, dass endlich die Leute Fehlermeldungen posten, und zweitens kann dein jetziger Fehler auch noch wo anders stecken.
GANZ WICHTIG:
Will der Fragende Hilfe, sollte er sich auch bei der Darlegung seines Problems bemühen.
NOCH WICHTIGER:
Vor dem Gang zum Forum sollte man auch mal versuchen zu verstehen, was einem der Compiler etc. vor den Latz knallt. Es ist mitunter recht hilfreich, was der ausgibt. Und wenn man mal halbwegs damit zurechtkommt, hat man auch sofort die Lösung.
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Qt Creator
Du hast den Ansatz 'Direct Approach' nicht durchgeführt da Du keine Klasse hast sondern nur eine main() - Funktion -> C++ Grundlagen! Und im Link steht es haarklein drin wie man vorzugehen hat. Man muss es nur durcharbeiten.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Qt Creator
Hi,
hab das jetzt mal soweit hingekriegt, dass ich die GUI anzeigen kann und das mit dem einfachen Vererbungsansatz. Ich denke wenn man den ganzen Fehlercode zur Kompilierung haben will, muss man auf Kompilierung gehen (hab ich nun auch gerafft). Melde mich wieder wenn ich garnicht mehr weiter komme.
Schönen Abend,
hab das jetzt mal soweit hingekriegt, dass ich die GUI anzeigen kann und das mit dem einfachen Vererbungsansatz. Ich denke wenn man den ganzen Fehlercode zur Kompilierung haben will, muss man auf Kompilierung gehen (hab ich nun auch gerafft). Melde mich wieder wenn ich garnicht mehr weiter komme.
Schönen Abend,
Gruß
TerraG
TerraG
Re: Qt Creator
Hallo,
kennt vielleicht jemand eine Liste der Methoden in c++ mit kleinen Erklärungen/Beispielen zu den Methoden?
Gruß
TerrraG
kennt vielleicht jemand eine Liste der Methoden in c++ mit kleinen Erklärungen/Beispielen zu den Methoden?
Gruß
TerrraG
Gruß
TerraG
TerraG
Re: Qt Creator
Eine Liste der Methoden in C++???
Ich bin mir nicht sicher ob es das ist was du brauchst, aber hier mal ein Link zu allen Klassen die Qt bietet: http://doc.qt.nokia.com/4.7/classes.html
Ich glaube du musst erstmal verstehen was C++ überhaupt macht und was man damit anstellen kann, ich empfehle dir ein Buch zu kaufen oder im Internet Anfänger Tutorials durchzustöbern.
Gruß
Ich bin mir nicht sicher ob es das ist was du brauchst, aber hier mal ein Link zu allen Klassen die Qt bietet: http://doc.qt.nokia.com/4.7/classes.html
Ich glaube du musst erstmal verstehen was C++ überhaupt macht und was man damit anstellen kann, ich empfehle dir ein Buch zu kaufen oder im Internet Anfänger Tutorials durchzustöbern.
Gruß
Re: Qt Creator
C++ ist eine objektorientierte Programmiersprache, mit der man Programme (Software) für verschiedenste Anwendungen erstellen kann. Das geht von rein virtuellen Programmen bis zu Programmen für Maschinen, Anlagen etc. und wahrscheinlich noch vieles mehr. Die Programme können hierbei extrem komplex und kompliziert werden, sodass ganze Teams benötigt werden. Oft kann es dazu kommen, dass bereits geschriebene Klassen, damit deren Elemente und Methoden wieder oder in ähnlicher Form verwendet werden können um sich so viel Arbeit beim Programmieren eigener Anwendungen zu ersparen --> daher gibt es viele gespeicherte Klassen,Methoden etc, die in sogenannten Bibliotheken abgespeichert sind. Des weiteren versucht man wohl mehr oder weniger "Klassenhierarchien" anzulegen (fiktives Bsp.: Klasse Fahrrad ist Subklasse der Klasse Zweiradfahrzeuge, welche wiederum Subklasse der Klasse Fahrzeuge ist usw. ) - Eine Subklasse erbt hierbei alles von ihrer Basisklasse. Ein Vorteil der Objektorientierung ist, dass der Programmierer sich oft an der Realität orientieren kann, so sollte die Klasse Fahrrad aus dem Bsp. mit ihren Eigenschaften und Methoden den Eigenschaften und Möglichkeiten der reelen Fahrräder nahe kommen. Von nicht objektorientierten Programmiersprachen hab ich kein Plan xD.
Ist ein Programm nach den "Regeln" der Programmiersprache erstellt und wird ausgeführt, übersetzt der Compiler (selbst ein Programm) nach seiner Programmierung den Programmtext/Quelltext in Maschinensprache/code, welche der Rechner ausliest und nach seiner Programmierung wiederum ausführt.
Das ganze bietet natürlich ein großes Feld an Möglichkeiten, ein wirklich guter Programmierer kennt wohl genau den Aufbau der Programmiersprache und kann sich damit mal locker eigene Methoden erstellen, sollte er diese benötigen.
Das ist natürlich alles nur ein kleiner Umriss zu einer objektorientierten Programmiersprache bzw. Programmierung allgemein. So, ich mach dann mal weiter.
Einen guten Rutsch .
Ist ein Programm nach den "Regeln" der Programmiersprache erstellt und wird ausgeführt, übersetzt der Compiler (selbst ein Programm) nach seiner Programmierung den Programmtext/Quelltext in Maschinensprache/code, welche der Rechner ausliest und nach seiner Programmierung wiederum ausführt.
Das ganze bietet natürlich ein großes Feld an Möglichkeiten, ein wirklich guter Programmierer kennt wohl genau den Aufbau der Programmiersprache und kann sich damit mal locker eigene Methoden erstellen, sollte er diese benötigen.
Das ist natürlich alles nur ein kleiner Umriss zu einer objektorientierten Programmiersprache bzw. Programmierung allgemein. So, ich mach dann mal weiter.
Einen guten Rutsch .
Gruß
TerraG
TerraG