Fehlermeldung mit wxpython

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Volker Schulte
User
Beiträge: 20
Registriert: Sonntag 8. Februar 2009, 10:23
Wohnort: Lüdenscheid

Mittwoch 11. Februar 2009, 18:50

Hallo zusammen,

ich hatte mir wxpython heruntergeladen und nachfolgendes Listing hineinkopiert:

#!/usr/bin/pythonw

from wxPython.wx import *

class MyApp(wxApp):
def OnInit(self):
frame = wxFrame(NULL, -1, "Hello wxPython-World!")
frame.Show(true)
self.SetTopWindow(frame)
return true

app = MyApp(0)
app.MainLoop()

Nach dem Start erschien folgende Fehlermeldung:

Warning (from warnings module):
File "E:/Python25/Listings/wxpython_test.py", line 3
from wxPython.wx import *
DeprecationWarning: The wxPython compatibility package is no longer automatically generated or actively maintained. Please switch to the wx package as soon as possible.

Das Window wurde dennoch dargestellt!

Ich bin neu in der Materie und weiß nicht wie ich vorgehen muß, um den Fehler loszuwerden.

Gruß Volker
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 11. Februar 2009, 18:55

Das Listing ist uralter Code, du solltest einfach aktuellere Dokumentation zum lernen verwenden. wxPython importiert man seit Jahren über ``import wx`` und es haben sich wohl noch ein paar Sachen geändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Mittwoch 11. Februar 2009, 19:23

mein Ultra wx Frame Anfängerfenster mit Anleitung
hier
http://paste.pocoo.org/show/103553/

und das ist das kürzeste welöches einen frame im fenster anzeigt

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx

wx.SetDefaultPyEncoding("iso-8859-1")

class MyFrame(wx.Frame):

    def __init__(self, parent = None, id = -1, title = "wxPython", size = (300, 250)):
       
        wx.Frame.__init__(self, parent, id, title, size = size)
       
        # Panel erstellen (auf diesem Panel werden die Widgets angeordnet)
        panel = wx.Panel(self)
       
        # Zentrieren und anzeigen
        self.Center()
   
    def close_frame(self, event = None):
        """
        Schließt dieses Fenster
        """
        self.Close()

if __name__ == "__main__":
   
    # Bei kleinen Anwendungen ist es nicht unbedingt nötig, eine eigene
    # App-Klasse zu verwenden. Bei größeren Anwendungen kann eine eigene
    # App-Klasse aber recht vorteilhaft sein, um z.B. globale Objekte zu
    # Verwalten oder um die einzelnen Fenster zu koordinieren.
   
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()
Volker Schulte
User
Beiträge: 20
Registriert: Sonntag 8. Februar 2009, 10:23
Wohnort: Lüdenscheid

Mittwoch 11. Februar 2009, 19:31

Vielen Dank an Euch.

Es klappt alles wunderbar.

Gruss Volker.
Antworten