• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]qt4 anwendungen erstellen

abgdf

Guru
spoensche schrieb:
Statt Python sagt mir z.B. Ruby wesentlich eher zu.
Wäre auch kein Problem: Offenbar gibt es ja auch eine Qt4-Bridge für Ruby:

http://zetcode.com/gui/rubyqt/

Aber mampfi will ja offenbar C++.

Das letzte Mal hab' ich mich mit Qt noch unter Qt3 beschäftigt. Da war QtDesigner wirklich am praktischsten. Es gab auch gute Tutorials, wie man die zusammengeklickte Oberfläche mit seinen Funktionen verbindet (da gab's irgendwelche "Slots" AFAIR). Sowohl für C++, als auch für PyQt. Bestimmt gibt's solche Tutorials (mit Bildern) inzwischen auch für Qt4.
Insgesamt war mir das aber alles zu groß und nicht portabel genug. Für meine kleinen Sachen reicht Tk (Tkinter), das läuft dann sowohl unter Linux als auch unter Windows out-of-the-box und sieht mit richtig eingestellten Fonts auch nicht sch.... aus (wie sonst). Leider geht Tk nicht mit C++. Es gab mal einen Ansatz, aber der war eher scherzhaft gemeint und Murks.
Von einem C/C++-Programmierer erwartet man eben offenbar, daß er die Oberfläche abstrahieren kann (MVC) und dann eine Version für Linux (Qt, GtK) und eine Version für die Windows-Oberfläche (MFC) schreibt. Wie gesagt halte ich die Anforderungen an einen C/C++-Programmierer für ziemlich hoch. Die einfacheren Skriptsprachen sind daher mehr meine Sache.
 
OP
M

mampfi

Hacker
Leute, die freiwillig programmieren werden ja generell als verrückt eingestuft ;-)

So, ich geb jetzt mal zu: Ich hab die Problemstellung in einem "anderen" Forum (debian) begonnen, da in verschiedenen Threads, bin in einem Forum mal geschimpft worden, wegen Fremd gehen.
Da zunächst noch mit größeren Ansprüchen, IDE usw.


Wegen Themaverfehlung das selbe Thema:

https://debianforum.de/forum/viewtopic.php?f=15&t=150424
https://debianforum.de/forum/viewtopic.php?f=34&t=148908

Erkenntnis hier war ja, dass qt sich unter gnome (2) genauso wohlfühlt, wie unter kde.

Und mampfi wird bescheiden.
https://debianforum.de/forum/viewtopic.php?f=34&t=150720

Aber so bin ich wieder mal ja mal hierher gelangt.

Natürlich sollen alle in den Genuss der Erkenntnisse gelangen.
 

abgdf

Guru
Jetzt kannst Du also mehrere Foren beschäftigen, aber immer noch nicht den QtDesigner bedienen. Vielleicht solltest Du Deine Prioritäten überdenken (das Manual herunterladen und danach das Internet einfach mal ausmachen). :mrgreen:
 
OP
M

mampfi

Hacker
Wobei ich mehrere Foren nicht zeitgleich beschäftige, das wäre ja so, als wenn man erwartet, dass einem nicht geholfen wird. ;-)

Erst wenns in Forum 1 mal stockt, dann schreib in Forum zwei.

Bei Internet und Manual (sprich Google) hat mir die letzten paar Jahre nicht weitergeholfen, da macht sich bei mir eher Verwirrung breit.

Ausser wenn einen ein Forumsteilnehmer auf die richtige Seite führt. *grins*.
 
OP
M

mampfi

Hacker
Ich bin ja in C unterwegs.

Wenn ich fürs python-Hallo-Welt nix installieren muss, probier ichs auch mal aus.
 

abgdf

Guru
mampfi schrieb:
Ich bin ja in C unterwegs.
Wikipedia:
Qt ... ist eine C++-Klassenbibliothek für die plattformübergreifende Programmierung grafischer Benutzeroberflächen.
Die heutigen GUI-Toolkits sind alle objektorientiert. Wenn man da mit blankem C kommt und Klassen nicht wenigstens im Grundsatz versteht, kommt man da nicht weit.
Genaugenommen ist das (jedenfalls für mich) auch der Grund, mich überhaupt mit OOP zu beschäftigen. Ich hätte gern auf OOP verzichtet. Aber das kann man schlecht machen, wenn man grafische Oberflächen schreiben will und die Toolkits nunmal mit Objekten funktionieren.

Das API von Windows 95 war noch nicht objektorientiert, reines C. Vielleicht hast Du damit ja mehr Glück. :mrgreen: Ich hatte am Anfang deshalb sogar extra ein Buch darüber gekauft. Aber damit war ich eher auf dem Holzweg. Mußte ich irgendwann einsehen.
 
OP
M

mampfi

Hacker
So nun Anwendung erfolgreich auf dem "qt-Rechner" nb2kde kompiliert.

Wenn ich das kompilierte Programm auf meinen Hauptrechner kopiere und versuche es mit Doppelklick aufzurufen kommt beim ersten Aufruf die Meldung:

"qthello konnte nicht angezeigt werden"

Für den Dateityp ist keine Anwendung installiert.


Wie "deployt" man denn eine kompilierte qt-Anwendung auf einen anderen (debian-)linux-Rechner?
 

abgdf

Guru
mampfi schrieb:
So nun Anwendung erfolgreich auf dem "qt-Rechner" nb2kde kompiliert.

Wenn ich das kompilierte Programm auf meinen Hauptrechner kopiere und versuche es mit Doppelklick aufzurufen kommt beim ersten Aufruf die Meldung:

"qthello konnte nicht angezeigt werden"

Für den Dateityp ist keine Anwendung installiert.


Wie "deployt" man denn eine kompilierte qt-Anwendung auf einen anderen (debian-)linux-Rechner?
Terminal öffnen, in Verzeichnis wechseln und
Code:
./yourprogram
ausführen.
 

spoensche

Moderator
Teammitglied
mampfi schrieb:
So nun Anwendung erfolgreich auf dem "qt-Rechner" nb2kde kompiliert.

Wenn ich das kompilierte Programm auf meinen Hauptrechner kopiere und versuche es mit Doppelklick aufzurufen kommt beim ersten Aufruf die Meldung:

"qthello konnte nicht angezeigt werden"

Für den Dateityp ist keine Anwendung installiert.


Wie "deployt" man denn eine kompilierte qt-Anwendung auf einen anderen (debian-)linux-Rechner?

Für debianbasierte Systeme als .deb Paket und für RPM basierte Systeme als .rpm Paket.

Starte das Programm auf deinem Hauptrechner mal per Konsole, dann bekommst du auch Fehlermeldungen angezeigt.
 
OP
M

mampfi

Hacker
So einmal aktueller Stand:

Der beschriebene Effekt tritt nur auf meinem Hauptrechner auf. Ein debian squeeze 64 Bit.
Sonst startet das komplierte Programm auf verschiedenen Rechnern mit "debians" gnome 2 und kde.

Ich habe auf dem Hauptrechner mal die hier gelernte Installation durchgeführt, um den Platzbedarf zu testen und danach wieder einen Image-Restore vom Stand ohne qt4 gemacht.

Das wurden beim Kompilieren offenbar ein Paar Dutzend pro-Dateien generiert.


Setze Thread mal auf gelöst, da erste Schritt, das Hello-World-Programm gelöst wurde.
 
Oben