ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
462
462
EMPFEHLEN
-
Hallo!
Meine dieswöchige aufgabe ist mit GTK unter PHP einen Tree zu erstellen, der so aussehen soll:
Code :1 2 3 4 5 6 7 8
Main |--Sub1 | |--Subtree | | \--Item | \--Item |--Subtree2 | \--Item \--Item
Nunaja, ich habe mir daaraufhin das gtk 1.2 tutorial von gtk.org angeschaut, soweit das der GTK tree box erstellt wird, bekomme ich es noch hin, aber das mit den Items verstehe ich dann nicht, dort arbeiten sie dann mit GtkWidget *gtk_tree_item_new_with_label( gchar *label ); um ein Item zu erzeugen und das hinzuzufügen..
Jedoch gibt es keine Methode die da lautet GtkTreeItem->new_with_label();
Vielehrer sieht die klasse für TreeItems so aus: http://gtk.php.net/manual/de/gtk.gtktreeitem.php
Wofür das XXX stehen soll, weiß ich auch nciht, ich habe also mal dashier probiert:
jedoch bleibt das GtkTree leer, also weiß..PHP-Code:<?php
$tree = &new->GtkTree();
$tree->set_usize(200, 330);
$label = &new GtkTreeItem('hallo');
$tree->append($label);
$mainwindo->show_all();
?>
Könnte mir villeicht jemand erklähren, wie ich die Items richtig erstelle udn einfüge, so das diese auch einen titel ahben, anklickbar sind etc?
Bin mir sicher das einer von euch die antwort kennt, währe super
-
22.07.04 15:07 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Ich kenn mich mit PHPGtk bzw. Gtk 1.2 zwar nicht aus und kann dir dafür auch leider keine Lösung bieten, aber möglicherweise hilft dir statt dem GtkTree ein GtkCTree-Widget weiter.

Evtl. wäre es für dich auch zu überlegen, ob du nicht auf Gtk 2.x wechseln solltest.
"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Ich schau mir das GtkCTree Widget gleich mal an..
Und auf 2 kann cih leider nciht wechseln, da dies von der PHP runtime not supported wird, in nem halben jahr dann
..
Danke erstmal, ich meld mich dann warscheinlich wieder
-
22.07.04 20:34 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Muss es denn unbedingt PHP sein, oder tut's im Grunde auch eine andere Scriptsprache? PHP ist ja nun eigentlich nicht unbedingt für clientseitige GUI-Anwendungen gemacht.
"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Warum sollte PHP nicht "dafür gemacht" (Du meinst eher geeignet, oder?) sein?
Und, jein..
Es währe natürlich auch möglich alles in C oder Python und co. zu machen, müsste ncihtmal eine Scriptsprache sein, aber es geht darum einersetis es zu lernen (Mit PHP und GTK Clientanwendungen zu schreiben), da die entwickler sich langsam vom reinen Serverside Image wegbewegen (wollen)..
Zum andren schreibe ich das alles ja für eine etwas größre Application, wo durch die verwendung von PHP Merhere vorteile bestehen, unter anderem dass dieses Tool für eine Schule ist, welche auch ITler hat, die meist zuerst PHP Lernen, so können diese das dann weiterentwickeln, ein anderer ist das PHP Platformunabhängig ist, ok währe Python oder Java auch
Man braucht nur eine Sprach für den Serverseitigen sowie für den Clientseitigen Script teil, und die Meisten haben auf dem Server nunmal eher PHP als Python JSPR.
Ein weiterer vorteil der verwendung eine Interpretersprache wie PHP/Phyton besteht darin, dass man nicht extra eine andere Interpretersprache für Scripting Interfaces einauen muss..
Also, es wurde vorher schon abgewähgt welche sprach cih denn verwende, und da die App sowieso nciht besonderst rechenintensiv ist, abergesehen von der image Import funktion viel die wahl auf PHP
Achso, nochwas, also, du kannst es mir auch gerne in C, Cpp, Python oder Perl oder sonstwas erklären, das ist bei meinem Verständnis nciht das problem
-
23.07.04 12:49 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
PHP war von Grund auf aber nunmal nicht für clientseitige GUI-Anwendungen gemacht, sondern primär für das Web angesetzt. Daran hat sich meiner Meinung nach auch in Version 5 nichts geändert.Warum sollte PHP nicht "dafür gemacht" (Du meinst eher geeignet, oder?) sein?
Das ist mit der Hauptgrund dafür, dass die Implementierung der GTK-Bindings nur relativ halbherzig und sogar veraltet ist und die Dokumentation etliche Lücken aufweist.
Was bringt dir PHP auf einem Server, wenn es um GUI-Anwendungen geht?Man braucht nur eine Sprach für den Serverseitigen sowie für den Clientseitigen Script teil, und die Meisten haben auf dem Server nunmal eher PHP als Python JSPR.
Abgesehen davon müssten auf solchen Rechnern ebenfalls noch die GTK-Bibliotheken als Erweiterungen zu PHP installiert werden, um die Scripte lauffähig zu bekommen und damit besteht so oder so ein gewisser Installationsaufwand, der bei einem anderen Binding weniger aufwändig oder problematisch sein würde.
Anscheinend gibt es einige ziemlich gravierende Unterschiede zwischen dem "normalen" GTK und dessen Bindings und dem speziellen PHP-Binding. Möglicherweise liegt das auch an GTK 1.2 (mit dessen Altlasten sich PHP noch immer rumschlagen muss), da muss ich leider auch passen. Aber mit GTK 2.x scheint mir das Verhalten von TreeView-Widgets sehr viel logischer zu sein, da die Dateninhalte von den sichtbaren Komponenten nach einem MVC-Prinzip getrennt werden.Achso, nochwas, also, du kannst es mir auch gerne in C, Cpp, Python oder Perl oder sonstwas erklären, das ist bei meinem Verständnis nciht das problem"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Naja, also ich würd das Binding nciht als Halbherzig bzeichnen, es sind bislang noch keine Fehler (bis auf die normalen kleiner fehlerdamals bei den prev's) aufgetaucht, und andere PHP-GTK anwendungen zeigen ja auch, daseigendlcih alles geht, hab gestern eine gefunden die den CTree verwendet, werds mir da mal anschauen, und dass php5 ein stück weiter weg vom reinen "Hypertext PreProcessor bzw den PersonalHomepageTools" geht, erkennst du zb daran,PHP war von Grund auf aber nunmal nicht für clientseitige GUI-Anwendungen gemacht, sondern primär für das Web angesetzt. Daran hat sich meiner Meinung nach auch in Version 5 nichts geändert.
Das ist mit der Hauptgrund dafür, dass die Implementierung der GTK-Bindings nur relativ halbherzig und sogar veraltet ist und die Dokumentation etliche Lücken aufweist.Golem.de schrieb:
Zudem wird PHP 5 mit SQLite über eine eigene, kleine Datenbank verfügen, die vor allem für die Entwicklung von Kommandozeilen- und Desktop-Applikationen vorgesehen ist. Auch hat man die Behandlung von Streams deutlich verbessert und erlaubt neuerdings den Zugriff auf Socket Operations sowie auf untere Protokollschichten.
[... ]
In der Beta 2 hat man zudem den Speicher-Manager verbessert, eine neue COM-Erweiterung samt .Net-Unterstützung integriert und einige neue Funktionen hinzugefügt.Warum soll auf dem server die GTK Binding installiert sein?Was bringt dir PHP auf einem Server, wenn es um GUI-Anwendungen geht?
Abgesehen davon müssten auf solchen Rechnern ebenfalls noch die GTK-Bibliotheken als Erweiterungen zu PHP installiert werden, um die Scripte lauffähig zu bekommen und damit besteht so oder so ein gewisser Installationsaufwand, der bei einem anderen Binding weniger aufwändig oder problematisch sein würde.
Es handelt sich f.e. um eine Client<>Server app, dann brauch ich auf dem Server doch keine Fenster zu erstellen, sondern lediglich mit dem was mir der Client an daten sendet umzugehen!? Das verstehe ich nicht ganz, wozu du auf dem Server da GTK bräuchtest, da dieser, bzw das Script dort ja lediglich ein paar anfragen zu beantworten hat..
Ja, cih denke auch das das hier die Typischen GTK 1.2 probs sind, in dem GTK 2 Tut ist es besser und einfach intuitiver, hast du recht, aber sobald die PHP 5 final ist wird es dann hoffentlich wie angekündigt das GTK 2 Binding geben.Anscheinend gibt es einige ziemlich gravierende Unterschiede zwischen dem "normalen" GTK und dessen Bindings und dem speziellen PHP-Binding. Möglicherweise liegt das auch an GTK 1.2 (mit dessen Altlasten sich PHP noch immer rumschlagen muss), da muss ich leider auch passen. Aber mit GTK 2.x scheint mir das Verhalten von TreeView-Widgets sehr viel logischer zu sein, da die Dateninhalte von den sichtbaren Komponenten nach einem MVC-Prinzip getrennt werden.
-
27.07.04 15:47 #8
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Mag sein, dass es PHP-Anwendungen gibt, die mit Gtk+ auch für Desktops lauffähig sind, aber trotzdem ist PHP einfach nicht dafür gemacht. Ich meinte mit der halbherzigen Implementierung auch nicht, dass das Binding fehlerhaft ist, sondern nur, dass es einfach mal eben so implementiert wurde und halt irgendwie das macht, was es soll - aber mehr auch nicht. Und zudem ist es noch veraltet.Naja, also ich würd das Binding nciht als Halbherzig bzeichnen, es sind bislang noch keine Fehler (bis auf die normalen kleiner fehlerdamals bei den prev's) aufgetaucht, und andere PHP-GTK anwendungen zeigen ja auch, daseigendlcih alles geht, hab gestern eine gefunden die den CTree verwendet, werds mir da mal anschauen, und dass php5 ein stück weiter weg vom reinen "Hypertext PreProcessor bzw den PersonalHomepageTools" geht, erkennst du zb daran,
Das wollte ich auch eigentlich wissen, du sagtest das ja schließlich:Warum soll auf dem server die GTK Binding installiert sein?
Evtl. versteh ich dich aber auch einfach nur falsch...[...]die Meisten haben auf dem Server nunmal eher PHP als Python JSPR.
Richtig, also läuft die GUI-Anwendung auf einem Client, auf dem möglicherweise kein PHP installiert ist.Es handelt sich f.e. um eine Client<>Server app, dann brauch ich auf dem Server doch keine Fenster zu erstellen, sondern lediglich mit dem was mir der Client an daten sendet umzugehen!? Das verstehe ich nicht ganz, wozu du auf dem Server da GTK bräuchtest, da dieser, bzw das Script dort ja lediglich ein paar anfragen zu beantworten hat..
Nebenbei erwähnt: Wenn es darum geht, mit einer Anwendung auf dem Server Daten auszutauschen, könnten Webservices für dich noch ganz interessant sein.
Möglicherweise gibt es eine Gtk 2 Schnittstelle, auch wenn ich das für unwahrscheinlich halte. Dass PHP langsam von dem Image der serverseitigen Scriptsprache wegkommen will, kann ich verstehen, allerdings wird dieser Weg gerade für PHP noch ziemlich steinig werden.Ja, cih denke auch das das hier die Typischen GTK 1.2 probs sind, in dem GTK 2 Tut ist es besser und einfach intuitiver, hast du recht, aber sobald die PHP 5 final ist wird es dann hoffentlich wie angekündigt das GTK 2 Binding geben.
PHP 5 ist übrigens schon als Final draußen.
"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Japs, also, weiß sogar nochmehr, sie arbeiten kräftig daran..PHP 5 release sparks renewed interest in PHP-GTK
[20-Jul-2004] Since the release of PHP 5.0.0 last week, the PHP-GTK mailing lists have seen a sharp spike in activity due mostly to interest in PHP-GTK 2.0, the release of which is still in the future. This activity has brought about a massive call for updates to the current PHP-GTK documentation and Web site, with the effort geared toward promoting the extension and making the site and documentation more thorough and user friendly.
hoffe halt es dauert nichtmehr all zu lange, mal schauen..
Und das der weg steinig wird ist klar, aber ich werde eine von denen sein die ihn von anfang an gehen, ich finde es nämlich gut, und bin überzeugt das es sich lohnt..
Ich denke am ende ist das hier ansichtssache..
Und dass man GTK auch auf dem Server braucht kann ich in keinem meiner postings entdecken gesagt zu haben!? Naja..
Ähnliche Themen
-
Verständnisproblem XML und XSD
Von oeko im Forum XML TechnologienAntworten: 3Letzter Beitrag: 17.10.09, 18:16 -
HKS-Verständnisproblem
Von guardacaso im Forum PhotoshopAntworten: 10Letzter Beitrag: 21.03.09, 17:56 -
JNI-Verständnisproblem
Von swalbking im Forum C/C++Antworten: 1Letzter Beitrag: 05.10.07, 14:32 -
[gtk] Style von den Linien bei einem gtktree, bzw einem gtkctree..
Von MC Breit im Forum Sonstige SprachenAntworten: 0Letzter Beitrag: 26.12.04, 18:02 -
verständnisproblem
Von zarqon im Forum C/C++Antworten: 5Letzter Beitrag: 18.05.03, 20:41





Zitieren
Login





