View previous topic :: View next topic |
Author |
Message |
maic n00b
Joined: 26 Sep 2003 Posts: 18 Location: Germany
|
Posted: Wed Oct 29, 2003 11:49 am Post subject: [OT] GUI Programmierung mit C++ |
|
|
Hey Freax !
Ich möchte eine GUI Programmieren, die sehr der von freevo entspricht. D.h. ähnliche Oberfläche und Funktion.
(www.freevo.org) > da gibts auch screenies.
Die Gründe, warum ich nicht freevo verwenden will:
1. Ist in Python geschrieben
2. Ich muss ein Projekt für die Schule machen.
3. Möchte durch dieses Projekt möglichst viel in C++ lernen.
Das Projekt-Pflichtenheft kann von meinem FTP : doublehelix.homelinux.com user: guest pass: guest
unter /projekt/xbox.doc angesehen werden. (noch nicht fertig
Da ich noch nie was grafisches programmiert habe (also bisher nur in der MS-DOS Eingabeaufforderung) habe ich keine Ahnung welche Tools ich nehmen soll. QT, GTK+, TCL/TK, ....
- Die GUI soll auf allen WMs laufen also nicht nur auf KDE z.B.
- Ich möchte für die Zukunft lernen ....
- Ich möchte ausserdem freevo-ähnlichen auch andere Programme programmieren können
- Spiele, müssen nicht unbedingt sein aber wenn es das Toolkit unterstützt ?!
- das Toll sollte Vollbild unterstützen oder es sollte möglich sein ein vollbild zu generieren
- ich benötige statt den standartbuttons gif bilder oder ähnliches (siehe freevo)
Wie ihr sicherlich bemerkt habt, hab ich in dem bereich GUI programmierung nicht wirklich den plan bisher.
Wollte euch einfach fragen in was ich mich am besten reinlesen soll.
Vielen Dank im vorraus ich bin über jede Antwort dankbar ...
Sollte euch was unklar sein, fragt mcih einfach ...
Gruß Maic
Mod edit: Topic auf "OT" gesetzt. |
|
Back to top |
|
|
jay l33t
Joined: 08 May 2002 Posts: 980
|
Posted: Wed Oct 29, 2003 11:57 am Post subject: |
|
|
Nur mal so nebenbei: In der aktuellen c't wurde das Thema auch kurz angeschnitten. _________________ Do you want your posessions identified? [ynq] (n) |
|
Back to top |
|
|
tntkane n00b
Joined: 30 Mar 2003 Posts: 24
|
Posted: Wed Oct 29, 2003 12:01 pm Post subject: |
|
|
Also
Ich möchte dir nur über meine Erfahrung mit MFC und QT was sagen.
Ja MFC = Microschrott ...
Ich habe jetzt ehrlich gesagt keine Lust dein Plichtenheft durchzulesen. Bitte net persönlich nehmen
Also wenn ich die beiden oben genannten vergleiche kann ich nur sagen das MFC totaler schrott is. Das kann ich auch begründen. So brauch ich für ein 20 Zeilen MFC Programm nur ein 3 Zeiler in QT.
Was ich damit sagen will: QT ist sehr einfach. Mit TCL und Konsorten kenn ich mich GAR NICHT aus.
Zu dem muss man sagen das QT ein Lizenzprodukt ist. Kommerzielle Produkte muessen lizensiert werden. Aber wxWindows (auch eine LIB) is ganz Kostenlos!! Kenn ich mich aber auch net mit aus
Bei QT ist ein wunderschöner Designer dabei womit man die Formen sehr gut vorbereiten und verwenden kann.
Jedoch möchte ich dich warnen:
Für QT brauchst du (naja vielleicht auch nur ich) einige Zeit um dich in das Prinzip von SLOTS,ACTIONS usw. reinzuversetzen.
Für positiv habe ich aber immer die Tutorials von www.trolltech.de(qt) erachtet.
QT läuft in allen mir bekannten WMs WENN es installiert ist.
Naja hoffe konnte dir nen kleinen Eindruck geben. |
|
Back to top |
|
|
birnbaumtruhe Apprentice
Joined: 20 Sep 2003 Posts: 281
|
Posted: Wed Oct 29, 2003 12:04 pm Post subject: |
|
|
Nunja, GTK ist imho wie der Rest von Gnome nicht OOP programmiert, generell würde ich dir dazu raten, dein Glück mal mit QT auszuprobieren, bei GTK spricht halt noch dagegen dass einige Sachen schlecht dokumentiert sind und einige wirkliche Dinge auch nicht implementiert (auch wenn man sie schmerzlich missen kann) - für GTK spricht eine sehr gute Doku zum einarbeiten und generell ist man schnell dabei.
Just my 2 Cent. _________________ Gentoo Forum Guidelines | How to ask smart questions |
|
Back to top |
|
|
tntkane n00b
Joined: 30 Mar 2003 Posts: 24
|
Posted: Wed Oct 29, 2003 12:08 pm Post subject: Re: GUI Programmierung mit C++ |
|
|
bin net auf die Punkte eingegangen:
maic wrote: |
- Ich möchte für die Zukunft lernen ....
>> tust du in meinen Augen. Grosse nahmen wie Opera verwenden QT
- Ich möchte ausserdem freevo-ähnlichen auch andere Programme programmieren können
>> ??
- Spiele, müssen nicht unbedingt sein aber wenn es das Toolkit unterstützt ?!
>> QT bietet ne OpenGL-Schnittstelle
B.- das Toll sollte Vollbild unterstützen oder es sollte möglich sein ein vollbild zu generieren
>> Vollbild? du meinst ohne Symbolleiste usw? Dann tut das QT auch können;-)
- ich benötige statt den standartbuttons gif bilder oder ähnliches (siehe freevo)
>> gifs sind möglich in QT
|
|
|
Back to top |
|
|
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Wed Oct 29, 2003 1:04 pm Post subject: |
|
|
Ich möchte an dieser Stelle auch QT empfehlen.
Vorallem hat man mit dem QT Designer und KDevelop eine wirklich schöne Entwicklungsumgebung. Die Dokumentationen sind auch sehr gut und es gibt auch viele Tutorials/Examples, anhand denen man schnell lernt.
Von Tcl/Tk würde ich dagegen eher abraten wollen. Zwar sind damit zwar schnell kleine Applikationen erstellt, doch mir scheint Tcl/Tk eher ein "Auslaufmodell" zu werden. (Siehe Roadmap von Tcl/Tk)
Gruß,
ian! _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
|
maic n00b
Joined: 26 Sep 2003 Posts: 18 Location: Germany
|
Posted: Wed Oct 29, 2003 9:15 pm Post subject: |
|
|
Hiermit möchte ich mich für eure zahlreichen und informativen antworten bedanken !!
THX @ all !
Greez maic |
|
Back to top |
|
|
AustrianCoder Apprentice
Joined: 11 Oct 2003 Posts: 258 Location: �sterreich
|
Posted: Thu Oct 30, 2003 11:31 am Post subject: |
|
|
Also ich fins wxwindows (www.wxwindows.org) echt super... schön platform unabhängig und mit den Tools kann man Dialoge. etc.. in windesweile erstellen... |
|
Back to top |
|
|
Beforegod Bodhisattva
Joined: 10 Apr 2002 Posts: 1495 Location: Würzburg
|
Posted: Thu Oct 30, 2003 11:59 am Post subject: |
|
|
Kannst auch (damit für Spiele offen) SDL verwenden.
Ist zwar ein wenig mehr Arbeit (Dialoge musst Du alle selber schreiben usw.) dafür kannste dann das Look&Feel anpassen und Theme-Able machen.
Schau mal auf www.libsdl.org evt. gibt es sogar schon eine vorgefertigte Lösung.
Und auch wenns ein bisschen Spät ist, bitte Themenname [OT] kennzeichnen.
Danke!
Cheers,
BeforeGod |
|
Back to top |
|
|
birnbaumtruhe Apprentice
Joined: 20 Sep 2003 Posts: 281
|
Posted: Thu Oct 30, 2003 4:56 pm Post subject: |
|
|
Zur SDL gibts auch ein gutes Buch von ein paar Leuten von LokiGames, ist mitunter das beste englische Computer Buch was ich gelesen haben, selten soviel Spass gehabt. Die libsdl macht in meiner Erfahrung nach sehr viel Spass, wenn du mehr Zeit hast sicherlich ein Blick wert, wenn nicht auch für die Zukunft. Schließe mich somit Beforegod an ... _________________ Gentoo Forum Guidelines | How to ask smart questions |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9616 Location: beyond the rim
|
Posted: Thu Oct 30, 2003 6:03 pm Post subject: |
|
|
birnbaumtruhe wrote: | Nunja, GTK ist imho wie der Rest von Gnome nicht OOP programmiert, |
Sorry, aber das ist quatsch. Man kann auch in C objektorientiert programmieren, was in gtk auch gemacht wird. Es fehlt halt die OOP Unterstützung durch die Sprache, wodurch das ganze evtl. etwas merkwürding aussieht. Davon abgesehen gibt es noch gtkmm, welches eine C++ API für gtk ist und somit "echtes" OOP ermöglicht. |
|
Back to top |
|
|
birnbaumtruhe Apprentice
Joined: 20 Sep 2003 Posts: 281
|
Posted: Thu Oct 30, 2003 6:15 pm Post subject: |
|
|
Genone wrote: | birnbaumtruhe wrote: | Nunja, GTK ist imho wie der Rest von Gnome nicht OOP programmiert, |
Sorry, aber das ist quatsch. Man kann auch in C objektorientiert programmieren, was in gtk auch gemacht wird. Es fehlt halt die OOP Unterstützung durch die Sprache, wodurch das ganze evtl. etwas merkwürding aussieht. Davon abgesehen gibt es noch gtkmm, welches eine C++ API für gtk ist und somit "echtes" OOP ermöglicht. |
Ich denke nicht dass man in C einen Konstruktor sich einfach mal so baut, dort mal einen Dekonstruktor am Ende aufruft, dort die Klasse importiert und nebenbei noch ein bisserl Polymorphismus betreibt. Irgendeine Daseinesberechtigung muss Objective C oder C++ haben. Eine Modularisierung der Software ist noch lange keine OOP, und mit OOP meine ich auch das 100 %ige OOP und nicht dass sich selbst zurecht hingebogene. Klar gibt es auch einen Wrapper auf C++ für die libpcap, das macht aber aus ihr keine "OOP" Bibliothek. Natürlich lasse ich mich gerne belehren. _________________ Gentoo Forum Guidelines | How to ask smart questions |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9616 Location: beyond the rim
|
Posted: Thu Oct 30, 2003 6:50 pm Post subject: |
|
|
birnbaumtruhe wrote: | Ich denke nicht dass man in C einen Konstruktor sich einfach mal so baut, dort mal einen Dekonstruktor am Ende aufruft, dort die Klasse importiert und nebenbei noch ein bisserl Polymorphismus betreibt. Irgendeine Daseinesberechtigung muss Objective C oder C++ haben. Eine Modularisierung der Software ist noch lange keine OOP, und mit OOP meine ich auch das 100 %ige OOP und nicht dass sich selbst zurecht hingebogene. Klar gibt es auch einen Wrapper auf C++ für die libpcap, das macht aber aus ihr keine "OOP" Bibliothek. Natürlich lasse ich mich gerne belehren. |
Ok, das wird jetzt ein bisschen OT, aber egal:
OOP bedeutet, dass man auf Objekten operiert anstellen eines globalen Zustandes und ist nicht abhängig von Konstruktoren/Destruktoren/... . Die technische Implementierung ist zweitranging. Die Mittel, die Sprachen wie C++ oder Java bereitstellen machen es dem Entwickler "blos" einfacher Fehler zu vermeiden und erleichtetn einen objektorientierten Stil. Wenn man sich ein bisschen mit den Interna von C++ auskennt sieht man auch, dass Methoden lediglich Funktionen mit einem versteckten Parameter sind, die einer speziellen Namensgebung folgen.
Kurz und gut: OOP ist ein Programmierstil, kein Sprachfeature (ok, letztendlich ist es wie fast alles Definitionssache). |
|
Back to top |
|
|
maic n00b
Joined: 26 Sep 2003 Posts: 18 Location: Germany
|
Posted: Fri Oct 31, 2003 12:17 am Post subject: |
|
|
hat mir jmd nen tipp für nen gutes tutorial für Qt ? am besten wäre deutsch da ich sicherlich anfangs genug mit qt zu kämpfen habe
oder hat jmd ein buch ?
wenn man bei amazon so schaut gibt es auch des öfterne KDE/Qt Bücher ... ist KDE auser eines WMs auch ein GUI-Tool also wie QT oder wie soll ich das verstehen ... stehe aufm schlauch und hab schon ewig danach gegoogeld aber leider erfolglos ....
wäre nett wenn mir jmd nen tipp hätte wo ich mit lesen anfangen soll.
also das programm soll später auf allen WMs laufen.
und achja, was für ne IDE empfehlt ihr mir ? (habe bisher M$ Visual Studio benutzt)
PS: wenns keine deutschen tuts gibt dann gebt mir nen tipp der engl. sprachigen.
vielen dank |
|
Back to top |
|
|
Headhunter123 Guru
Joined: 19 Oct 2002 Posts: 509
|
Posted: Fri Oct 31, 2003 10:56 am Post subject: |
|
|
Hi!
Ich würde dir von QT abraten. Erstmal weil dus lizensieren musst wenn du Geld verdienen möchtest, zweitens aber auch weil unter Windows die QT 3.0 Version nicht verfügbar ist. Portabilität könnte also ein Problem sein.
Was ich dir ans Herz legen möchte ist FLTK (www.fltk.org). Mit wunderhübschen C++ Code kann man damit plattformunabhängige GUIs erstellen -inklusive eigenem GUI Designer.
Und einfach ist es obendrein noch |
|
Back to top |
|
|
birnbaumtruhe Apprentice
Joined: 20 Sep 2003 Posts: 281
|
Posted: Fri Oct 31, 2003 12:47 pm Post subject: |
|
|
maic wrote: |
und achja, was für ne IDE empfehlt ihr mir ? (habe bisher M$ Visual Studio benutzt)
vielen dank |
Als IDE bzw. Editor fand ich für zum reinen programmieren Anjuta und DiaSCE recht gut. Ansonsten schwären die Java Programmierer bei uns in der FH von Eclipse. Angeblich oder mit sehr hoher Wahrscheinlichkeit existieren auch Plugins mit denen man in C++ schreiben kann, ansonsten gibt es auch viele Leute die von Kdevelop schwärmen. _________________ Gentoo Forum Guidelines | How to ask smart questions |
|
Back to top |
|
|
Starfox Tux's lil' helper
Joined: 04 Sep 2002 Posts: 93
|
Posted: Sun Nov 02, 2003 10:51 am Post subject: |
|
|
Headhunter123 wrote: | Hi!
Ich würde dir von QT abraten. Erstmal weil dus lizensieren musst wenn du Geld verdienen möchtest, zweitens aber auch weil unter Windows die QT 3.0 Version nicht verfügbar ist. Portabilität könnte also ein Problem sein.
|
1. Hmm, der will doch lernen, und kein Geld verdienen!
2. Soweit ich weiss gibt es jetzt auch eine GPL Version von QT für windose
http://www.troll.no |
|
Back to top |
|
|
Fauli l33t
Joined: 24 Apr 2004 Posts: 760 Location: Moers, Germany
|
|
Back to top |
|
|
Haldir Guru
Joined: 27 Sep 2002 Posts: 546
|
|
Back to top |
|
|
Deever Veteran
Joined: 06 Jul 2002 Posts: 1354 Location: Zürich / Switzerland
|
Posted: Fri Nov 05, 2004 9:11 pm Post subject: |
|
|
So, ab hier muß auch ich wieder mal nen paar Zeilen schreiben...
maic wrote: | oder hat jmd ein buch ? | Jasmin Blanchette und Mark Summerfield haben ein Buch rausgebracht, das imho sehr brauchbar ist, allerdings zu Qt 3. Ach ja, und könntest du bitte das Geplenke sein lassen? Danke.
Quote: | ist KDE auser eines WMs auch ein GUI-Tool also wie QT oder wie soll ich das verstehen ... stehe aufm schlauch und hab schon ewig danach gegoogeld aber leider erfolglos .... | KDE baut auf Qt auf und bietet selber so tolle Sachen wie KIO, KPart und weiteres...
Quote: | also das programm soll später auf allen WMs laufen. | Tut es sowieso. Du hast das Konzept eines Windowmanagers nicht verstanden.
Quote: | und achja, was für ne IDE empfehlt ihr mir ? (habe bisher M$ Visual Studio benutzt) | Für Einfaches reicht ein simpler Texteditor, für Komplizierteres sollte es schon vim sein.
HTH!
/dev |
|
Back to top |
|
|
Deever Veteran
Joined: 06 Jul 2002 Posts: 1354 Location: Zürich / Switzerland
|
Posted: Fri Nov 05, 2004 9:19 pm Post subject: |
|
|
Headhunter123 wrote: | Ich würde dir von QT abraten. Erstmal weil dus lizensieren musst wenn du Geld verdienen möchtest | Warum schreibst du über Sachen, die du nicht ansatzweise verstanden hast? Die proprietäre Lizenz von Trolltech ist nötig, wenn du deinen Code unter eine proprietäre Lizenz stellen willst. Mit Geld verdienen hat das ganze rein gar nix zu tun.
Quote: | Was ich dir ans Herz legen möchte ist FLTK (www.fltk.org). | Oder vielleicht XForms oder Motif? Mein Beileid...
SCNR,
/dev |
|
Back to top |
|
|
mrsteven Veteran
Joined: 04 Jul 2003 Posts: 1939
|
Posted: Fri Nov 05, 2004 10:44 pm Post subject: |
|
|
Wenn du nicht grade Unmengen an Listen (Gtk::ListView & co sind einfach §$%&*!) verwenden willst, ist gtkmm sehr zu empfehlen: Sehr modernes und "sauberes" C++, d.h. keine Makros wo nicht unbedingt nötig, STL-ähnliche Container...
http://www.gtkmm.org |
|
Back to top |
|
|
|