Seite 1 von 1

Fehlermeldung mit wxpython

Verfasst: Mittwoch 11. Februar 2009, 18:50
von Volker Schulte
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

Verfasst: Mittwoch 11. Februar 2009, 18:55
von Leonidas
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.

Verfasst: Mittwoch 11. Februar 2009, 19:23
von sea-live
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()

Verfasst: Mittwoch 11. Februar 2009, 19:31
von Volker Schulte
Vielen Dank an Euch.

Es klappt alles wunderbar.

Gruss Volker.