View previous topic :: View next topic |
Author |
Message |
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Sun Apr 17, 2005 9:10 am Post subject: qt oder gtk? Buch oder Internet? |
|
|
Hallo,
ich piele zur Zeit mit dem Gedanken ein bisschen programmieren zu lernen. C++ ist glaub ich das vernünfitgste, wenn auch schwerste? Da ich natürlich auch meine Programme grafisch darstellen möchte muss ich mich entscheiden ob ich für qt oder gtk programmierne will.
Mein momentaner Favorit ist qt, weil es auf mich einen besser etwickelten eindruck macht und auch für windows verfügbar ist. Verbessert mich bitte, wenn ich falsch liege. Gibt es zwischen den beiden eignedlich Geschwindigkeitsunterschiede?
Natürlich ist das nicht mein einziges Problem, ich brauche selbstverständlich auch Fachlektüre. In dem Bereich war leider die Suchfunktion nicht sehr hilfreich. Ich bräuchte etwas für totale Anfänger die C++ anhand von qt bzw gtk (ich möchte vorerst mich nur mit ein von beiden beschäftigen) beigebracht bekommen. Bei amazon.de gibt es ein qt buch von Trolltech, aber die Kommentare dort waren miserabel und wenn sie auch nicht sehr glaubwürdig waren, zweifle jetzt an dem Buch. Hat hier jemand Erfahrungen mit derartiger Lektüre oder soll ich gar nach howtos im internet programmieren?
Danke für eure hilfe |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Apr 17, 2005 9:12 am Post subject: Re: qt oder gtk? Buch oder Internet? |
|
|
1) C++ -> QT
2) geschwindigkeitsmäßig is nur subjektiv ein unterschied... -> IMHO
3) Lektüren: QT API und KDE Libraries API
cheers |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Sun Apr 17, 2005 9:19 am Post subject: |
|
|
Danke für die schnelle Antwort
1) also kann ich mit c++ theoretisch gar kein gtk...?
2) das liegt auch teiweise an den recht umfangreichen qt programmen schätz ich. QT ist technisch besser sagt ein bekannter - hat er recht?
3) Ich vergaß zu sagen dass zu ich zu Beginn nicht für KDE sondern rein für qt programmieren will.... Was sind das für lektüren die du nanntest? Bücher? *nix mit den namen find* |
|
Back to top |
|
|
Gentoonie Apprentice
Joined: 06 Apr 2004 Posts: 205 Location: near Munich | Bavaria | Germany
|
Posted: Sun Apr 17, 2005 9:25 am Post subject: |
|
|
Natürlich kann man auch mit C++ für GTK programmieren, und ich sehe ehrlichgesagt kein großes problem darin dies auch zu tun. _________________ Do you know the secret hand shake - you best use it.
GCC 4, Kernel 2.6.14-ck7, NPTL |
|
Back to top |
|
|
_hephaistos_ Advocate
Joined: 07 Apr 2004 Posts: 2694 Location: salzburg, austria
|
Posted: Sun Apr 17, 2005 9:31 am Post subject: |
|
|
Pamino wrote: | 1) also kann ich mit c++ theoretisch gar kein gtk...? |
doch, geht schon
Quote: | 2) das liegt auch teiweise an den recht umfangreichen qt programmen schätz ich. QT ist technisch besser sagt ein bekannter - hat er recht? |
jo, die QT Struktur is IMHO schon ziemlich sehr gut...
Quote: | 3) Ich vergaß zu sagen dass zu ich zu Beginn nicht für KDE sondern rein für qt programmieren will.... Was sind das für lektüren die du nanntest? Bücher? *nix mit den namen find* |
http://doc.trolltech.com/3.0/ |
|
Back to top |
|
|
Earthwings Bodhisattva
Joined: 14 Apr 2003 Posts: 7753 Location: Germany
|
Posted: Sun Apr 17, 2005 9:39 am Post subject: |
|
|
Wenn du *anfängst* zu programmieren, würde ich nicht gerade mit C++ einsteigen. Installier dir eclipse 3.1 und fang mit java an. eclipse als IDE ist hervorragend und java bewahrt dich erst mal vor einigen C/C++ Hässlichkeiten. Von GUIs würde ich auch erst mal die Finger lassen. python wäre auch noch ne Möglichkeit als Einstieg, gibt aber keine ordentlichen IDEs dafür. |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Sun Apr 17, 2005 9:52 am Post subject: |
|
|
hephaistos6 wrote: | http://doc.trolltech.com/3.0/ |
We assume that you already know C++!
Earthwings wrote: | Wenn du *anfängst* zu programmieren, würde ich nicht gerade mit C++ einsteigen. Installier dir eclipse 3.1 und fang mit java an. eclipse als IDE ist hervorragend und java bewahrt dich erst mal vor einigen C/C++ Hässlichkeiten. Von GUIs würde ich auch erst mal die Finger lassen. python wäre auch noch ne Möglichkeit als Einstieg, gibt aber keine ordentlichen IDEs dafür. |
Ja das hab ich schon oft gehört gelesen ^^. Du wirst sicher auch recht haben, aber den Teil mit GUIs glaub ich nich *g*. Man kann doch objektorientiert einsteigen oder eben nicht und ich hab hier auch ein kleines Anfänger-buch für windows, das hat damals (vor 2 jahren) nen heiden Spaß gemacht (C++). Ich bin glaub ich nicht gedulidg genug um erst was zu lernen was ich gar nicht möchte *g*.
Deshalb brauch ich ja eine Fachlektüre wie das Borland buch für Windows die mir den Java-losen Einstieg etwas erleichtert. |
|
Back to top |
|
|
mrsteven Veteran
Joined: 04 Jul 2003 Posts: 1939
|
Posted: Sun Apr 17, 2005 10:59 am Post subject: |
|
|
Sehe das eigentlich ähnlich wie Earthwings, lern erstmal Standard-C++ (vielleicht vorher Python) und kümmere dich dann um den ganzen GUI-Kram. Für die Entwicklung von grafischen Oberflächen wäre gtkmm noch ganz nett, da es relativ "sauberes" C++ benutzt.
Für Standard-C++ würde ich mir an deiner Stelle auf jeden Fall ein Buch besorgen, für gtkmm gibt es ein schönes Tutorial auf der Homepage. |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Sun Apr 17, 2005 11:02 am Post subject: |
|
|
mrsteven wrote: | Sehe das eigentlich ähnlich wie Earthwings, lern erstmal Standard-C++ (vielleicht vorher Python) und kümmere dich dann um den ganzen GUI-Kram. Für die Entwicklung von grafischen Oberflächen wäre gtkmm noch ganz nett, da es relativ "sauberes" C++ benutzt.
Für Standard-C++ würde ich mir an deiner Stelle auf jeden Fall ein Buch besorgen, für gtkmm gibt es ein schönes Tutorial auf der Homepage. | Nun gut. Dann erst mal ohne GUI Kann mir dann jemand ein Linux c++ büchlein empfehlen? |
|
Back to top |
|
|
zervus Tux's lil' helper
Joined: 19 Jan 2005 Posts: 133
|
Posted: Sun Apr 17, 2005 11:20 am Post subject: |
|
|
Pamino wrote: | Kann mir dann jemand ein Linux c++ büchlein empfehlen? |
Schau mal auf Tech Books For Free. Ganz unten steht übrigens 'Thinking in C++', das ist mir schon von mehreren Seiten ans Herz gelegt worden. |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 4:40 pm Post subject: |
|
|
So, hat ein paar Tage gedauert für diese Antwort, aber besser spät als nie!
Ich hab mal das buch von zervus gesaugt (THXTHX! ) und möcht euch jetzt das, was ich in der zwischenzeit gelernt habe zeigen.
Ist nichts besonderes und hat natürlich keine GUI: (Ich weiß, über den Nutzen lässt sich streiten)
http://mitglied.lycos.de/dumdelidumm/cleverloader-0.1a |
|
Back to top |
|
|
Gekko l33t
Joined: 29 Oct 2002 Posts: 773
|
Posted: Wed Apr 20, 2005 4:45 pm Post subject: |
|
|
Poste doch bitte den Quelltext, sonst kann kein Mensch beurteilen, was Du schon so alles gelernt hast
Binaries ausführen ist nicht jedermanns Sache (möchte hier und jetzt niemanden was unterstellen!!)
Und wenn Du was veröffentlichst wäre eine kleine Doku in Form einer Readme z.B. nicht schlecht. Woher soll jemand wissen was ein cleverloader macht? Ich kann mir darunter halt recht wenig vorstellen (da es ja keine Infos darüber gibt) |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 4:48 pm Post subject: |
|
|
Gekko wrote: | Poste doch bitte den Quelltext, sonst kann kein Mensch beurteilen, was Du schon so alles gelernt hast
Binaries ausführen ist nicht jedermanns Sache (möchte hier und jetzt niemanden was unterstellen!!)
Und wenn Du was veröffentlichst wäre eine kleine Doku in Form einer Readme z.B. nicht schlecht. Woher soll jemand wissen was ein cleverloader macht? Ich kann mir darunter halt recht wenig vorstellen (da es ja keine Infos darüber gibt) | ^^ den quelltext? dann seht ihr ja den portage wurm und den pam-trojaner!! *G* Ne, vertraut mir - das kann ich nich und habs auch nich vor zu tun. Und da das kleine Programm, nicht gut genug ist um ein Thread mit Readme und dem drumundran zu erstellen, startet es doch einfach in dem ihr es ausfürhbar macht und per konsole startet. Dort ist eine kleine beschreibung.... |
|
Back to top |
|
|
Gekko l33t
Joined: 29 Oct 2002 Posts: 773
|
Posted: Wed Apr 20, 2005 4:49 pm Post subject: |
|
|
mach ich bestimmt nicht |
|
Back to top |
|
|
psyeye Guru
Joined: 06 Dec 2002 Posts: 409 Location: Germany
|
Posted: Wed Apr 20, 2005 4:56 pm Post subject: |
|
|
Eins noch: Java (Eclipse als IDE ist unschlagbar) mit den Gnome- / Gtk-Bindings ist eine feine Sache!
Stichwort also: java-gnome
Ausprobieren - für den Anfang und den Großteil der Anwendungen ist Java wie geschaffen für!
psyeye |
|
Back to top |
|
|
Gekko l33t
Joined: 29 Oct 2002 Posts: 773
|
Posted: Wed Apr 20, 2005 5:09 pm Post subject: |
|
|
Ich hab mir mal die Strings in deinem Proggy angeguckt, ohne es jetzt ausgeführt zu haben und würde Dir folgendes raten:
Bau das Dings so um, dass es Parameter annimmt, und falls keine übergeben wurden -> Hilfetext der die Funktionalität erklärt ausspucken.
Warum ich das für sinnvoll halte: Automatisiertauglichkeit. |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 5:18 pm Post subject: |
|
|
Gekko wrote: | Ich hab mir mal die Strings in deinem Proggy angeguckt, ohne es jetzt ausgeführt zu haben und würde Dir folgendes raten:
Bau das Dings so um, dass es Parameter annimmt, und falls keine übergeben wurden -> Hilfetext der die Funktionalität erklärt ausspucken.
Warum ich das für sinnvoll halte: Automatisiertauglichkeit. | Was für Parameter? Und wie schaust du strings an ohne es auszuführen? |
|
Back to top |
|
|
Gekko l33t
Joined: 29 Oct 2002 Posts: 773
|
Posted: Wed Apr 20, 2005 5:23 pm Post subject: |
|
|
in etwa sowas z.B.:
Code: | $ cleverloader --url --~/downloads --001-023 |
oder so ähnlich zum aufrufen.
Habs mir einfach im Vim angeguckt
Naja, und wget aufrufen kann ja jeder
Last edited by Gekko on Wed Apr 20, 2005 5:26 pm; edited 1 time in total |
|
Back to top |
|
|
ruth Retired Dev
Joined: 07 Sep 2003 Posts: 640 Location: M / AN / BY / GER
|
Posted: Wed Apr 20, 2005 5:26 pm Post subject: |
|
|
Hallo,
folgendes noch:
system() calls sind schwer sicher zu implememtieren.
Vor allem, wenn man sowas macht: system(wget ...)
wofür das eigentlich? ein C(++) programm als shell wrapper??? *gg*
dann:
prüfen, ob /tmp/cleverloader.tmp schon existiert - wichtig!!!
und was soll das denn?
Code: |
cp /tmp/cleverloader.tmp ~/.cleverloader.tmp && chmod 777 ~/.cleverloader.tmp && ~/.cleverloader.tmp
|
... kopiere /tmp/cleverloader.tmp nach $HOME/.cleverloader.tmp
... verstecke die datei ($HOME/DOTcleverloader.tmp)!!!
... mache sie für alles und jeden ausführbar (chmod777)
... und führe sie dann aus (~/.cleverloader.tmp)
witzig heute, was?
zum hacker fehlts dir noch, war aber ein netter versuch...
your current level: beginner / scriptkiddie
gruss
ruth _________________ "The compiler has tried twice to abort and cannot do so; therefore, compilation will now terminate."
-- IBM PL/I (F) error manual
Last edited by ruth on Wed Apr 20, 2005 5:33 pm; edited 3 times in total |
|
Back to top |
|
|
Gekko l33t
Joined: 29 Oct 2002 Posts: 773
|
Posted: Wed Apr 20, 2005 5:27 pm Post subject: |
|
|
LOL *tschuldigung*
Ich freu mich so wieder bei Gentoo dabei zu sein. Es ist zeitweilen lustiger als Dick & Doof.... |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 6:09 pm Post subject: |
|
|
tztz ich dachte das forum hat mehr stil - dann lasst es halt, wenn ihr nicht in der lage seit irgendwas vorzuschlagen aber nur kritisieren und SPAM nachrichten zu posten (Gekko).
@ruth: das scriptkiddie überhör ich mal. das im home soll (später mal) eine resume funktion bereitstellen und da ich bis jetzt if for while schleifen und eben schreiben und lesen aus dateien kenne ist es etwas schwierig wget zu ersetzen. Schließlich mach ich das den dritten Tag. Aber da du dich developer nennst kannst du mir ja einen verbesserungsvorschlag nennen, oder? Und danke nochmals für eure äußerst konstruktiven beiträge.
Interessieren würde mich allerdings wie ich die datei in /tmp umgehen kann, da ich ja string und int nicht miteinander verbinden und so keine url generieren kann. |
|
Back to top |
|
|
hurra Apprentice
Joined: 11 Apr 2004 Posts: 224
|
Posted: Wed Apr 20, 2005 6:13 pm Post subject: |
|
|
Ich hab jetzt nicht alles durchgelesen, aber "int und string kombinieren" kannst du so:
Code: | char s[100];
int i=10;
sprintf(s,"hallo: %d",i);
|
|
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 6:31 pm Post subject: |
|
|
hurra wrote: | Ich hab jetzt nicht alles durchgelesen, aber "int und string kombinieren" kannst du so:
Code: | char s[100];
int i=10;
sprintf(s,"hallo: %d",i);
|
| Hmm - ich komm nicht dahinter char kenn ist mir noch unbekannt und dieses sprintf auch. Wie geht das denn allgemein, wenn ich int zahl1 und string url hab. Kann ich darauß auch einen neuen string oder so machen? |
|
Back to top |
|
|
mrsteven Veteran
Joined: 04 Jul 2003 Posts: 1939
|
Posted: Wed Apr 20, 2005 6:35 pm Post subject: |
|
|
hurra wrote: | Ich hab jetzt nicht alles durchgelesen, aber "int und string kombinieren" kannst du so:
Code: | char s[100];
int i=10;
sprintf(s,"hallo: %d",i);
|
|
Oder in C++ auch so:
Code: | std::ostringstream conv;
int i=302;
conv << "Hallo! Hier ist eine Zahl: " << i;
std::string str = conv.str(); //nur ein Beispiel, wie man einen ostringstream in einen string "umwandelt" |
Hat den Vorteil, dass man sich nicht um die Länge des Ergebnisstrings kümmern muss (und so die Gefahr eines Buffer-Overflows vermeidet).
Du musst halt den Header <sstream> einbinden. |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Wed Apr 20, 2005 6:54 pm Post subject: |
|
|
ach ^^ das war wohl java
@mrseven: hmm das geht nicht wirklich. liegt immer an der zeile std::ostringstream conv;
int main() {
std::ostringstream conv;
int i=302;
conv << "Hallo! Hier ist eine Zahl: " << i;
std::string str = conv.str(); //nur ein Beispiel, wie man einen ostringstream in einen string "umwandelt"
cout << conv.str() << endl;
}
Ich werde wohl ein c++ forum bemühen um weitere fragen zu klären, programmiersprachen sind hier sicher unerwünscht!? Danke für den code. evtl. kann ich auch wenn ich das schon etwas länger in übung bin wget ersetzen um den vorwurf einen shell wrapper gemacht zu haben aus kraft zu setzen. Weiß wer ob man für einen simplen Download viel know-how braucht? |
|
Back to top |
|
|
|