PHP-GTK Widget ansprechen!

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Nyrk
User
Beiträge: 16
Registriert: Freitag 17. April 2009, 22:18

Eigentlich ist das hier ja ein Python Forum, da die Vorgehensweise aber ähnlich der von Python ist hier mal mein Problem.


Hallo,


ich habe momentan ein kleines Problem mit dem Ansprechen von Widgets die ich als Gladefile lade.

Hier mal ein bischen Code:

Code: Alles auswählen

<?php
$glade = new GladeXML(dirname(__FILE__) . '/projekt1.glade');
$tbox = $glade->get_Widget("entry1");  //weiß nicht ob das richtig ist.
$glade->signal_autoconnect();


function on_button1_clicked() {
$datei = file("http://www.google.de");
$tbox-set_text($datei); //hier kommt der Fehler.
}
 

Gtk::main();
?>
Fehlermeldung:
Call to undefined function set_text()
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

kenne mich mit dieser PHP Variante nicht aus, aber muss es nicht heißen "$tbox->set_text()" statt "$tbox-set_text()"?
Außerdem gibt file() in PHP ein Array zurück. set_text() erwartet aber einen string. Dazu könntest du readfile() benutzen.

Grüße,

brb

P.S. Wozu braucht man eigentlich diese PHP Variante? Ich fand das schon immer etwas... seltsam?
Nyrk
User
Beiträge: 16
Registriert: Freitag 17. April 2009, 22:18

Stimmt, da war ein kleiner Fehler drin.

->

jetzige Fehlermeldung:
Call to a member function set_text() on a non-object
Auch wenn ich

Code: Alles auswählen

$tbox->set_text('string');
schreibe.
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Du hast vergessen meine Frage zu beantworten ;)
Call to a member function set_text() on a non-object
Ist doch selbsterklärend? $tbox ist None - entweder enthält dein Gladefile keine Objekt namens "entry1" oder etwas anderes stimmt mit deiner Glade-Routine nicht.

Laut PHP GTK Dokumentation heißt die gesuchte Glade-Methode "get_widget" und nicht "get_Widget".
Bitte achte etwas auf derartige Rechtschreibfehler, das ist wirklich etwas, für das man die Community nicht unbedingt bemühen muss ;)

brb
Nyrk
User
Beiträge: 16
Registriert: Freitag 17. April 2009, 22:18

Meinst du wozu man PHP-GTK braucht?

Eigentlich aus dem gleichen Grund wie PyGTK :-)

Ich glaube auch das irgendwas mit meinem Aufruf nicht stimmt...
An der Groß-Kleinschreibung scheints abe rnicht zu liegen, hab ich gerade getestet.
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Nyrk hat geschrieben:Meinst du wozu man PHP-GTK braucht?

Eigentlich aus dem gleichen Grund wie PyGTK :-)
Naja, aber für PHP musst du einen entsprechenden Server rennen haben, was die Weitergabe verkompliziert. Und für klassische PHP Einsatzzwecke taugt es eh nichts, da man auf Remote-Server in der Regel keinen visuellen Zugriff hat?

//edit:
Was gibt denn "print $glade;" aus?
TDO
User
Beiträge: 25
Registriert: Montag 10. Juli 2006, 19:49
Kontaktdaten:

also wenn PHP-GTK die gesetze von PHP nicht ausser kraft setzt is doch klar warum $tbox ein non object ist... es ist im scope der function ja nicht definiert...
Nyrk
User
Beiträge: 16
Registriert: Freitag 17. April 2009, 22:18

Barabbas hat geschrieben:
Nyrk hat geschrieben:Meinst du wozu man PHP-GTK braucht?

Eigentlich aus dem gleichen Grund wie PyGTK :-)
Naja, aber für PHP musst du einen entsprechenden Server rennen haben, was die Weitergabe verkompliziert. Und für klassische PHP Einsatzzwecke taugt es eh nichts, da man auf Remote-Server in der Regel keinen visuellen Zugriff hat?

//edit:
Was gibt denn "print $glade;" aus?
Nein, man muss keinen Server laufen lassen, es reicht php-client zu installieren...eigentlich genau wie python, nur nicht ganz so mächtig.

Also auf jedem Unix System nutzbar.


@TDO: Danke, das war der knackpunkt...Wieso hab ich da nicht selber dran gedacht!
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Nyrk hat geschrieben:Meinst du wozu man PHP-GTK braucht?

Eigentlich aus dem gleichen Grund wie PyGTK :-)
Nee, PHP ist eine bessere Templatesprache die für sowas eigentlich nicht konzipiert ist. ;) Ich sehe PHP-GTK eher als Proof-Of-Concept, man kann es benutzt weil es geht, aber man will es nicht.
lunar

Darii hat geschrieben:
Nyrk hat geschrieben:Meinst du wozu man PHP-GTK braucht?

Eigentlich aus dem gleichen Grund wie PyGTK :-)
Nee, PHP ist eine bessere Templatesprache die für sowas eigentlich nicht konzipiert ist. ;)
Man kann in Mako und Jinja bessere Programme schreiben als in PHP, von einer "besseren" Templatesprache kann also kaum die Rede sein ;)

Ansonsten stimme ich dir natürlich zu.
Antworten