Browser in wxPython integrieren

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Hallo Python-Freunde,

Ich möchte gerne bspw. meinen Internet-Explorer in meine wxPython Oberfläche integrieren. Gibt es dazu eigentlich eine Möglichkeit?
(Habe beim googlen und in der Suche nichts brauchbares gefunden)
Vielen Dank im Voraus!

Gruß,
Toni
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Das ist meines Wissens in der großartigen Demo drin.
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Richtig, und zwar da:

Code: Alles auswählen

More Windows/Controls -> ActiveX_IEHtmlWindow
Gruß, Seven
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Danke für eure Antworten!
Habe mir mal erlaubt ein Snippet hier einzustellen, das den IE in einem einfachen Fenster anzeigt, quasi als Hilfestellung für alle noch suchenden:

Code: Alles auswählen

import wx
import wx.lib.iewin

def create(parent):
    return Frame1(parent)

[wxID_FRAME1, wxID_FRAME1HTMLWINDOW1, 
] = [wx.NewId() for _init_ctrls in range(2)]

class Frame1(wx.Frame):
    def _init_ctrls(self, prnt):
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(415, 299), size=wx.Size(400, 250),
              style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
        self.SetClientSize(wx.Size(392, 216))
	self.ie = wx.lib.iewin.IEHtmlWindow(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE )
        self.current = "http://localhost/"
        self.ie.LoadUrl(self.current)

    def __init__(self, parent):
        self._init_ctrls(parent)

if __name__ == "__main__":                                    
    app = wx.PySimpleApp(0)                                 
    wx.InitAllImageHandlers()                               
    Frame = Frame1(None)                                  
    app.SetTopWindow(Frame)                                 
    Frame.Show()                                            
    app.MainLoop()
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Die andere Frage ist nur, ob man das überhaupt will. ;)
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Bei mir im speziellen möchte ich VRML-Dateien die ich erstellt habe gleich in meiner GUI mit der ich die Dateien erzeugt habe visualisieren. Dazu benutze ich einen Browser-Plugin für den IE.
Aber es gibt bestimmt noch andere Anwendungsfälle, wo dies benötigt werden könnte...
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ich glaube, mkallas wollte nicht den Sinn eines Browserfensters an sich in einer Anwendung kritisieren, sonder einach nur ein bißchen das allseits beliebte IE-Bashing betreiben ;-)
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Nun ja mir bleibt ausser dem IE keine andere Wahl. Da das Programm auf anderen Rechnern auch laufen muss und ich nicht davon ausgehen kann, dass Firefox, Safari, Opera,... installiert ist, muss ich auf den standardmäßig vorinstallierten IE zugreifen. Der Browser wird ja sowieso ausschließlich für die VRML-Erstellung zweckentfremdet...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EyDu hat geschrieben:Ich glaube, mkallas wollte nicht den Sinn eines Browserfensters an sich in einer Anwendung kritisieren, sonder einach nur ein bißchen das allseits beliebte IE-Bashing betreiben ;-)
Naja, nicht dass IE es nicht verdient hätte. Habe grad eben erst für einen IE-Bug einen Workaround überdenken müssen (der "Ich kann PDFs nur von HTML-Seiten laden, wenn der User die URL zum PDF per Hand eingibt, scheitere ich jämmerlich"-Bug, wenn den jemand kennt - PM an mich).
Toni83 hat geschrieben:Da das Programm auf anderen Rechnern auch laufen muss und ich nicht davon ausgehen kann, dass Firefox, Safari, Opera,... installiert ist, muss ich auf den standardmäßig vorinstallierten IE zugreifen.
Also bei mir war er nicht standardmäßig installiert. Bei den Mac-ies wohl auch nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Toni83
User
Beiträge: 125
Registriert: Donnerstag 28. Juli 2005, 10:53

Zumindest ist die Chance, dass ich an einem Computer IE finde größer als bei den anderen Browsern, da die meisten neuen Systeme schon vor dem Kaufen mit IE vorinstalliert wurden. Zudem gibt es bspw. bei Vista für den Laien nicht einmal eine Möglichkeit den IE zu deinstallieren...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Toni83 hat geschrieben:Zudem gibt es bspw. bei Vista für den Laien nicht einmal eine Möglichkeit den IE zu deinstallieren...
Es gibt auch für den "Profi" diese Möglichkeit nicht, da sonst das System mehr oder weniger auseinanderfällt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Leonidas hat geschrieben:
Toni83 hat geschrieben:Zudem gibt es bspw. bei Vista für den Laien nicht einmal eine Möglichkeit den IE zu deinstallieren...
Es gibt auch für den "Profi" diese Möglichkeit nicht, da sonst das System mehr oder weniger auseinanderfällt.
Die gute Integration muss man einfach als Feature sehen ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EyDu hat geschrieben:
Leonidas hat geschrieben:
Toni83 hat geschrieben:Zudem gibt es bspw. bei Vista für den Laien nicht einmal eine Möglichkeit den IE zu deinstallieren...
Es gibt auch für den "Profi" diese Möglichkeit nicht, da sonst das System mehr oder weniger auseinanderfällt.
Die gute Integration muss man einfach als Feature sehen ;-)
Vor allem wenn im Fall IE7 auf XP dann einfach Sachen aufhören zu funktioneren. Naja, jedem das seine.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten