Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
qt oder gtk? Buch oder Internet?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Sun Apr 17, 2005 9:10 am    Post subject: qt oder gtk? Buch oder Internet? Reply with quote

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 :D
Back to top
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Sun Apr 17, 2005 9:12 am    Post subject: Re: qt oder gtk? Buch oder Internet? Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Sun Apr 17, 2005 9:19 am    Post subject: Reply with quote

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
View user's profile Send private message
Gentoonie
Apprentice
Apprentice


Joined: 06 Apr 2004
Posts: 205
Location: near Munich | Bavaria | Germany

PostPosted: Sun Apr 17, 2005 9:25 am    Post subject: Reply with quote

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
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Sun Apr 17, 2005 9:31 am    Post subject: Reply with quote

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
View user's profile Send private message
Earthwings
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 7753
Location: Germany

PostPosted: Sun Apr 17, 2005 9:39 am    Post subject: Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Sun Apr 17, 2005 9:52 am    Post subject: Reply with quote

hephaistos6 wrote:
http://doc.trolltech.com/3.0/

We assume that you already know C++! 8O

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
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1938

PostPosted: Sun Apr 17, 2005 10:59 am    Post subject: Reply with quote

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.
_________________
Unix philosophy: "Do one thing and do it well."
systemd: "Do everything and do it wrong."
Back to top
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Sun Apr 17, 2005 11:02 am    Post subject: Reply with quote

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
View user's profile Send private message
zervus
Tux's lil' helper
Tux's lil' helper


Joined: 19 Jan 2005
Posts: 133

PostPosted: Sun Apr 17, 2005 11:20 am    Post subject: Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 4:40 pm    Post subject: Reply with quote

So, hat ein paar Tage gedauert für diese Antwort, aber besser spät als nie! :D
Ich hab mal das buch von zervus gesaugt (THXTHX! :wink: ) 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
View user's profile Send private message
Gekko
l33t
l33t


Joined: 29 Oct 2002
Posts: 773

PostPosted: Wed Apr 20, 2005 4:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 4:48 pm    Post subject: Reply with quote

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.... :lol:
Back to top
View user's profile Send private message
Gekko
l33t
l33t


Joined: 29 Oct 2002
Posts: 773

PostPosted: Wed Apr 20, 2005 4:49 pm    Post subject: Reply with quote

:roll: mach ich bestimmt nicht 8O
Back to top
View user's profile Send private message
psyeye
Guru
Guru


Joined: 06 Dec 2002
Posts: 409
Location: Germany

PostPosted: Wed Apr 20, 2005 4:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
Gekko
l33t
l33t


Joined: 29 Oct 2002
Posts: 773

PostPosted: Wed Apr 20, 2005 5:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 5:18 pm    Post subject: Reply with quote

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? :lol:
Back to top
View user's profile Send private message
Gekko
l33t
l33t


Joined: 29 Oct 2002
Posts: 773

PostPosted: Wed Apr 20, 2005 5:23 pm    Post subject: Reply with quote

in etwa sowas z.B.:
Code:
$ cleverloader --url --~/downloads --001-023

oder so ähnlich zum aufrufen.

Habs mir einfach im Vim angeguckt :lol:
Naja, und wget aufrufen kann ja jeder :mrgreen:


Last edited by Gekko on Wed Apr 20, 2005 5:26 pm; edited 1 time in total
Back to top
View user's profile Send private message
ruth
Retired Dev
Retired Dev


Joined: 07 Sep 2003
Posts: 640
Location: M / AN / BY / GER

PostPosted: Wed Apr 20, 2005 5:26 pm    Post subject: Reply with quote

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? :roll:
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
View user's profile Send private message
Gekko
l33t
l33t


Joined: 29 Oct 2002
Posts: 773

PostPosted: Wed Apr 20, 2005 5:27 pm    Post subject: Reply with quote

LOL *tschuldigung*
Ich freu mich so wieder bei Gentoo dabei zu sein. Es ist zeitweilen lustiger als Dick & Doof....
Back to top
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 6:09 pm    Post subject: Reply with quote

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). :cry:
@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
View user's profile Send private message
hurra
Apprentice
Apprentice


Joined: 11 Apr 2004
Posts: 222

PostPosted: Wed Apr 20, 2005 6:13 pm    Post subject: Reply with quote

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
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 6:31 pm    Post subject: Reply with quote

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);
:wink: 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
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1938

PostPosted: Wed Apr 20, 2005 6:35 pm    Post subject: Reply with quote

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.
_________________
Unix philosophy: "Do one thing and do it well."
systemd: "Do everything and do it wrong."
Back to top
View user's profile Send private message
Pamino
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 281
Location: 127.0.0.1

PostPosted: Wed Apr 20, 2005 6:54 pm    Post subject: Reply with quote

ach ^^ das war wohl java :D
@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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum