Webbrowser back button in python
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
Wie macht mann diesen? Python ist für mich Neuland.
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
vim bzw gtk weiß nicht genau was du meinstSirius3 hat geschrieben:@Comput3rfr3ak: Du willst einen Knopf auf dem »back« steht? Welches Rahmenwerk für graphische Benutzereingaben verwendest Du denn?
@Comput3rfr3ak: Da geht es uns nicht anders.
vim und gtk sind zwei sehr unterschiedliche Sachen. Das eine ist ein Texteditor und das andere ein GUI-Rahmenwerk.
„Webbrowser back button in python; Wie macht mann diesen?“ ist an sich schon mal eine recht eigenartige Frage. Spontane Antwort wäre: Gar nicht, weil man schon einen Webbrowser eher nicht in Python schreiben würde. Wenn man das doch machen möchte, dann reicht diese Frage ohne zusätzliche Informationen nicht aus. Und es wäre sicherlich auch nicht die erste Frage die sich dabei stellen würde.
Schreib doch mal etwas ausführlicher was genau das Problem ist welches Du lösen möchtest.

„Webbrowser back button in python; Wie macht mann diesen?“ ist an sich schon mal eine recht eigenartige Frage. Spontane Antwort wäre: Gar nicht, weil man schon einen Webbrowser eher nicht in Python schreiben würde. Wenn man das doch machen möchte, dann reicht diese Frage ohne zusätzliche Informationen nicht aus. Und es wäre sicherlich auch nicht die erste Frage die sich dabei stellen würde.
Schreib doch mal etwas ausführlicher was genau das Problem ist welches Du lösen möchtest.
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
Mann kann ja in python (soll ja nur ein testprogramm sein) einen Browser erstellen mit webkit.webview ist bei mir webBlackJack hat geschrieben:@Comput3rfr3ak: Da geht es uns nicht anders.vim und gtk sind zwei sehr unterschiedliche Sachen. Das eine ist ein Texteditor und das andere ein GUI-Rahmenwerk.
„Webbrowser back button in python; Wie macht mann diesen?“ ist an sich schon mal eine recht eigenartige Frage. Spontane Antwort wäre: Gar nicht, weil man schon einen Webbrowser eher nicht in Python schreiben würde. Wenn man das doch machen möchte, dann reicht diese Frage ohne zusätzliche Informationen nicht aus. Und es wäre sicherlich auch nicht die erste Frage die sich dabei stellen würde.
Schreib doch mal etwas ausführlicher was genau das Problem ist welches Du lösen möchtest.
Jetzt kann man ja mit
Code: Alles auswählen
gobutton = gtk.Button("Los")
box2.pack_start(gobutton)
gobutton.connect('clicked', go_but)
Code: Alles auswählen
def go_but(widget):
add = addressbar.get_text()
if add.startswith("https://"):
web.open(add)
else:
add = "https://" + add
addressbar.set_text(add)
web.open(add)
Zuletzt geändert von Anonymous am Freitag 28. Oktober 2016, 20:23, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
@Comput3rfr3ak: Ja das geht. Genau so wie das mit der 'Los'-Schaltfläche gemacht wurde.
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
Funktioniert bei mir nicht welcher Befehl?BlackJack hat geschrieben:@Comput3rfr3ak: Ja das geht. Genau so wie das mit der 'Los'-Schaltfläche gemacht wurde.
@Comput3rfr3ak: Was heisst ”funktioniert nicht”? Was genau hast Du gemacht? Wie sieht der Code aus? Was hast Du erwartet und was ist stattdessen passiert? Ist der Rechner explodiert? Hat die Katze den Hamster gefressen? Oder umgekehrt? Gab es eine Fehlermeldung? Wenn ja wie lautete die? 1:1. Komplett.
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
Der Befehl lautet web.back() und der fehlerBlackJack hat geschrieben:@Comput3rfr3ak: Was heisst ”funktioniert nicht”? Was genau hast Du gemacht? Wie sieht der Code aus? Was hast Du erwartet und was ist stattdessen passiert? Ist der Rechner explodiert? Hat die Katze den Hamster gefressen? Oder umgekehrt? Gab es eine Fehlermeldung? Wenn ja wie lautete die? 1:1. Komplett.
gtk.button has no attribute named webview
@Comput3rfr3ak: ``web.back()`` ist kein Befehl. `web` ist ein Objekt, nach Deinen Aussagen ein `WebView`-Exemplar, und da wird das `back`-Attribut mit dem Punktoperator abgefragt und dann aufgerufen. Was aber nicht funktionieren wird, weil `WebView`-Exemplare kein `back`-Attribut haben:
So sähe das übrigens aus wenn man ein *komplettes*, minimales, nachvollziehbares Beispiel inklusive *kompletter* Fehlermeldung zeigt. Du musst echt mal ein bisschen gesprächiger werden und lauffähigen Quelltext zeigen, am besten auf das Problem zusammengekürzt, und von Tracebacks nicht nur die letzte Zeile.
Falls meine eben hier getroffenen Annahmen stimmen, kann ``web.back()`` nicht zu ``gtk.button has no attribute named webview`` führen, weil da gar kein `Button`-Objekt beteiligt ist. Ausserdem sähe so eine Fehlermeldung (nur die letzte Zeile) bei mir so aus: ``AttributeError: 'Button' object has no attribute 'webview'``. Also machst Du irgendwas anders. *Was* das ist, kann aber keiner ausser Dir sagen. Man müsste das aber wissen um irgendwie helfen zu können.
Code: Alles auswählen
In [10]: from gi.repository import WebKit
In [11]: web = WebKit.WebView()
In [12]: web.back()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-12-015de50be2bf> in <module>()
----> 1 web.back()
AttributeError: 'WebView' object has no attribute 'back'
Falls meine eben hier getroffenen Annahmen stimmen, kann ``web.back()`` nicht zu ``gtk.button has no attribute named webview`` führen, weil da gar kein `Button`-Objekt beteiligt ist. Ausserdem sähe so eine Fehlermeldung (nur die letzte Zeile) bei mir so aus: ``AttributeError: 'Button' object has no attribute 'webview'``. Also machst Du irgendwas anders. *Was* das ist, kann aber keiner ausser Dir sagen. Man müsste das aber wissen um irgendwie helfen zu können.
-
- User
- Beiträge: 6
- Registriert: Freitag 28. Oktober 2016, 18:02
BlackJack hat geschrieben:@Comput3rfr3ak: ``web.back()`` ist kein Befehl. `web` ist ein Objekt, nach Deinen Aussagen ein `WebView`-Exemplar, und da wird das `back`-Attribut mit dem Punktoperator abgefragt und dann aufgerufen. Was aber nicht funktionieren wird, weil `WebView`-Exemplare kein `back`-Attribut haben:So sähe das übrigens aus wenn man ein *komplettes*, minimales, nachvollziehbares Beispiel inklusive *kompletter* Fehlermeldung zeigt. Du musst echt mal ein bisschen gesprächiger werden und lauffähigen Quelltext zeigen, am besten auf das Problem zusammengekürzt, und von Tracebacks nicht nur die letzte Zeile.Code: Alles auswählen
In [10]: from gi.repository import WebKit In [11]: web = WebKit.WebView() In [12]: web.back() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-12-015de50be2bf> in <module>() ----> 1 web.back() AttributeError: 'WebView' object has no attribute 'back'
Falls meine eben hier getroffenen Annahmen stimmen, kann ``web.back()`` nicht zu ``gtk.button has no attribute named webview`` führen, weil da gar kein `Button`-Objekt beteiligt ist. Ausserdem sähe so eine Fehlermeldung (nur die letzte Zeile) bei mir so aus: ``AttributeError: 'Button' object has no attribute 'webview'``. Also machst Du irgendwas anders. *Was* das ist, kann aber keiner ausser Dir sagen. Man müsste das aber wissen um irgendwie helfen zu können.
Code: Alles auswählen
backbutton = gtk.button("<-")
box2.pack_backbutton(backbutton)
backbutton.connect('clicked', back_but)
Code: Alles auswählen
back_but(widget):
web.back
Zuletzt geändert von Anonymous am Samstag 29. Oktober 2016, 21:18, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
@Comput3rfr3ak: Der zweite Quelltextschnippsel ist syntaktisch falsch, der kommt nicht einmal am Compiler vorbei. Zudem reicht der Code bei weitem nicht aus das Problem nachzustellen, denn es fehlt der Code wo `web` überall zugewiesen wird, damit der Name beim Aufruf der Rückruffunktion nicht mehr an das `WebView`-Exemplar sondern eine Schaltfläche gebunden ist. Und im ersten Quelltextschnippsel wird die zweite Zeile mit Sicherheit so nicht laufen. Wenn Hilfe zu Deinem Code haben willst, dann musst Du schon Deinen *tatsächlichen* Code zeigen und weder Code der so ähnlich aussieht wie das was Du *wirklich* laufen lässt, noch Fehlermeldungen die so ähnlich abgetippt wurden. Anders ist das alles nur ein wildes raten und stochern im Nebel. Solange Du Dein Problem nicht als minimales aber *lauffähiges* Programm mit einer 1:1 Kopie der tatsächlichen und *kompletten* Ausnahme präsentierst, mit einer Prosabeschreibung was man machen muss um zu dieser Ausnahme zu gelangen, bin ich aus dem Thema hier raus. :K